从传单地图中删除图层

时间:2015-07-13 14:48:09

标签: javascript leaflet

我正在向我的传单地图对象添加多个具有各种不透明度的图层,如下所示:

 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所建议的那样,删除不应该传递字符串值,但是只传递变量名会导致地图根本不起作用。

enter image description here

由于

1 个答案:

答案 0 :(得分:5)

不要在函数中使用字符串:

map.removeLayer(EPSLayer);
map.removeLayer(TopoLayer);

取决于您要删除的图层。