Hi
Actually i am making a layer list . I am able to get all layers at one time.I am accessing map service layers.Anyone knows how to get only one layer at a time?
Hi Saurabh,
there is no way to set visibility to each layer in ArcGISTiledMapServiceLayer since it is just a static 'snapshot' of your data (just like image). You can only set transparency or visibility to the whole service. See TiledMapServiceLayer | API Reference | ArcGIS API for JavaScript for reference.
Regards,
Adam
Robert,
Thanks.Its working absolutely fine.But when i used this for my webmapservice its not working.
I am adding layers with ArcGISTiledMapServiceLayer .
Reference :
var TiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");
But if i replace ArcGISDynamicMapServiceLayer with ArcGISTiledMapServiceLayer in the code , the layers are not switchable. So it means that setVisibleLayers method only works with ArcGISDynamicMapServiceLayer.??
Saurabh,
Sure here is a sample:
<!DOCTYPE html> <html> <head> <meta name="description" content="Testing sublayer visibility"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <title>Create Map and add a dynamic layer</title> <link rel="stylesheet" href="https://js.arcgis.com/3.15/esri/css/esri.css"/> <style> html, body, #mapDiv{ padding: 0; margin: 0; height: 100%; } </style> <script src="https://js.arcgis.com/3.15/"></script> <script> var map; require([ "esri/map", "esri/layers/ArcGISDynamicMapServiceLayer" ], function ( Map, ArcGISDynamicMapServiceLayer) { map = new Map("mapDiv", { basemap: "topo", zoom: 10, center: [-98.258, 38.236] }); var dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"); map.addLayer(dynamicMapServiceLayer); dynamicMapServiceLayer.setVisibleLayers([0,1,3,5]); }); </script> </head> <body> <div id="mapDiv"></div> </body> </html>
Robert
Thanks for reply.Actually i am new to GIS ,so can you share sample code for that?
Not sure I understand your question. If you are asking how to set the visibility of a particular layer in a ynamic map service layer then you would use setVisibleLayers method:
ArcGISDynamicMapServiceLayer | API Reference | ArcGIS API for JavaScript | setVisibleLayers
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.