我正在向我的传单地图对象添加多个具有各种不透明度的图层,如下所示:
var TopoLayer = L.esri.dynamicMapLayer("https://gis.in.gov/arcgis/rest/services/Imagery_Basemap/MapServer", {
opacity: 0.8,
// Tell the map to use a loading control
useCors: false
}).addTo(map);
var EPSLayer = L.esri.dynamicMapLayer("https://gis.in.gov/arcgis/rest/services/DOT/EPS_Map_2015/MapServer", {
opacity: 1,
// Tell the map to use a loading control
useCors: false
}).addTo(map);
现在,当用户点击复选框时,我想删除该图层或将其添加回来。我试过了
map.removeLayer("EPSLayer");
map.removeLayer("tiles");
但是,这并没有解决问题。任何有用的想法或指示都将受到高度赞赏。
***更新我创建了一个小提示来显示问题:
https://jsfiddle.net/31gmr4ss/3/
想法是单击树图标以显示平面视图,然后再次单击时切换到地图视图。
单击树图标时似乎有效,但在缩放地图时会出现arial视图。
正如@Fabrizio所建议的那样,删除不应该传递字符串值,但是只传递变量名会导致地图根本不起作用。
由于
答案 0 :(得分:5)
不要在函数中使用字符串:
map.removeLayer(EPSLayer);
map.removeLayer(TopoLayer);
取决于您要删除的图层。