I am trying to fetch the names of the layers in the MapService, so that I can populate them in the dijit.form.select. 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?

1 Answer 1


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: http://jsfiddle.net/Cuef5/ Note that the URL being used is for a map service:


As opposed to using a URL for a single layer like:

  • 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
    Commented Nov 7, 2012 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. Commented Nov 7, 2012 at 15:17
  • The reason I need it is I am having a dijit.form.select where I am adding the map service names in the items and on selection of a map service, another dijit.select 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, msgist2011.grd.arizona.edu/project/tp_dock.html, 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
    Commented Nov 7, 2012 at 17:04
  • I am getting the returned object but not sure how to navigate to the layer names? The link, help.arcgis.com/en/webapi/javascript/arcgis/samples/…, gives the info of the layer's attribute table not the name
    – Sam007
    Commented Nov 7, 2012 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. Commented Nov 7, 2012 at 19:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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