Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to fetch the names of the layers in the MapService, so that I can populate them in the I am able to get the layerInfo when the ArcGISDynamicMapServiceLayer is added to the map by using,


But this is only after the layer has been added to the map. Is there some way by which I can get the layerInfo names directly from the URL?

share|improve this question
up vote 3 down vote accepted

Yes, send a request to the layer's URL to retrieve info as JSON and then pull out what you need. The Request Layer Info sample shows how to do this.

Edit: Here's a link to a tweaked version of the sample that shows querying a service for layer names: Note that the URL being used is for a map service:

As opposed to using a URL for a single layer like:
share|improve this answer
thanks for the reply @Derek but this gives all the details of the attributes in the layer. I simply want the layer name, which we get from map.getLayer(map.layerIds[0]).layerInfos[0].name – Sam007 Nov 7 '12 at 6:30
@Sam007 there's no way to request only the names of the layers in a map service– you have to get all map service info, then navigate the returned object to access layer names. This is a quick, relatively cheap operation since it's a single request for not much data. – Derek Swingley Nov 7 '12 at 15:17
The reason I need it is I am having a where I am adding the map service names in the items and on selection of a map service, another will be populated with the names of the layers in the selected map service. So I have the URL but not sure how to obtain only the layer names to populate them in the dropdown. This is my application,, if u click on the Mapping the Data docked floating pane and then change selection u can see the layer list but I am not able to populate it with the appropriate name – Sam007 Nov 7 '12 at 17:04
I am getting the returned object but not sure how to navigate to the layer names? The link,…, gives the info of the layer's attribute table not the name – Sam007 Nov 7 '12 at 17:45
@Sam007 you'll need to query the map service endpoint instead of the endpoint for a particular layer. I've edited my answer with a link to a jsfiddle showing how to do this. – Derek Swingley Nov 7 '12 at 19:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.