Answers:
本教程是一个很好的例子:
1)如示例中所示,为基础层设置一个变量名,该变量名可以在要以编程方式切换它们的函数中访问。
var grayscale = L.tileLayer(mapboxUrl, {id: 'MapID', attribution: mapboxAttribution}),
streets = L.tileLayer(mapboxUrl, {id: 'MapID', attribution: mapboxAttribution});
2)然后添加和删除要添加或删除的图层。以下内容将grayscale
图层交换为该streets
图层。假定两者grayscale
和streets
都在您进行切换的功能范围内可用。
map.removeLayer(grayscale);
map.addLayer(streets);
3)如果您使用的L.control.layers
是示例中显示的图层控件,则该控件会跟踪地图上的内容,并相应地更改复选框。
从/programming//a/33762133/4355695
通常,只要简单地在地图上添加一个图层(例如myTileLayer.addTo(map)),如果该图层是基础图层或“图层控件”的叠加层的一部分,后者将自动更新其状态(如果您添加了基本图层,单选按钮将被相应选择;对于叠加层,相应的复选框将被勾选)。
我尝试了一下并成功了:我不必费心删除当前的基础层(也不必弄清楚哪个是活跃的)。就是myTileLayer.addTo(map)
这样:如果它已经是我的基础层的一部分,那么地图会“切换”到它。它会自动删除当前图层并更改为myTileLayer
。
mapboxUrl
&mapboxAttribution
吗?