从传单地图中删除图层

w2o*_*ves 3 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);
Run Code Online (Sandbox Code Playgroud)

现在,当用户点击复选框时,我想删除该图层或将其添加回来.我试过了

                    map.removeLayer("EPSLayer");
                    map.removeLayer("tiles");
Run Code Online (Sandbox Code Playgroud)

但是,这并没有解决问题.任何可以提供帮助的想法或指示都将受到高度赞赏.

***更新我创建了一个小提示来显示问题:

https://jsfiddle.net/31gmr4ss/3/

想法是单击树图标以显示平面视图,然后再次单击时切换到地图视图.

单击树图标时似乎有效,但在缩放地图时会出现arial视图.

正如@Fabrizio所建议的那样,删除不应该传递字符串值,但是只传递变量名会导致地图根本不起作用.

在此输入图像描述

谢谢

Fab*_*oni 7

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

map.removeLayer(EPSLayer);
map.removeLayer(TopoLayer);
Run Code Online (Sandbox Code Playgroud)

取决于要删除的图层.