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
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.