I have access to a number of ESRI Mapservices and would like to be able to access specific layers within the mapservices in my online map application. I am working on creating this with the ESRI Javascript API.

I have looked, at and hoped that I could use, this sample map:


and substitute some of the data I have access to.

When I do substitute mapservices that we have here, the sample map will toggle on and off the entire mapservice and not the specific layer I was hoping it would.

Here is the mapservice I am trying to access with this code:


I would love to hear from someone about a solution. Nothing seems as straight forward as it looks...

  • i cant see that map service. I assume its dynamic and not cached? – jakc Oct 2 '10 at 2:55

In the sample code the quake, fire and base layers are three separate map services.
If you have a specific layer or layers that you want to toggle on/off using this sample, you can publish each layer as it's own map service, then plug them into your sample code.

Alternatively, if you want to have a list of the layers in your service and the ability to turn them off, these samples give examples of pulling a list of the layers in a service.



  • Zachery,Thanks for the info but I found a way to do what I wanted.. – Not to be named Oct 5 '10 at 13:24
  • Although, I was unable to access the legend of the mapservice.. – Not to be named Oct 5 '10 at 13:25

I learned that the class "featureLayer" can be used to display an individual layer within both a mapservice or a feature service..



The feature layer inherits from the graphics layer and can be used to display features from a single layer in either a Map Service or Feature Service. The layer can be either a (spatial) layer or (non-spatial) table. If the underlying layer (or table) is from a Feature Service, its features can be edited. ESRI- Javascript API Reference

Here is the code I now have that utilizes this method.. and it works!!:D

var featureLayer = new esri.layers.FeatureLayer("http://gis.co.frederick.va.us/ArcGIS/rest/services/Fire_and_Rescue/Fire_and_Rescue/MapServer/8",{
          mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
          displayOnPan:false,outFields: ["*"], opacity:.5, tileWidth:150, tileHeight:150, visible:false,
          infoTemplate: infoTemplate
  • 1
    You can also get the layerInfos of a dynamic layer, which will get you the id of each layer in the service and let you turn them on or off. – Tim Rourke Oct 13 '10 at 19:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy