在mapbox /传单图层控制中合并叠加



我正在尝试将2个或多个叠加组合到一个叠加复选框中。我使用传单图层控制与mapbox.js 1.6切换我的覆盖。如果我在mapbox.com上将它们组合成一个数据层,或者如果我在JS代码中将单独的数据层组合成一个覆盖复选框,对我来说都无关紧要,但我似乎也不能这样做。我正在从Tilemill导出MBTiles到我的Mapbox帐户。

注意:

不是一个选项:
  • 将它们组合在Tilemill中(单个缩放级别和正方形边界框在所有图层中对我不起作用)
  • 将各种数据层添加到Mapbox.com上的单个地图项目中(我希望它可以由用户切换)

你可以使用L.layerGroup来组合图层

var group = L.LayerGroup([layer1, layer2];
// add default layers to map
map.addLayer(layer1);
// switcher
var baseLayers = {
    "My Group": group,
    // more layers
};
// add layer groups to layer switcher control
var controlLayers = L.control.layers(baseLayers).addTo(map);

你可能会对这个线程感兴趣的基础地图组层的传单层控制

你可以使用L.control.layers和L.layerGroup。这是我为此编写的JSFiddle。你可以添加任意数量的基础层或叠加层。

一旦你创建了L.layerGroups,定义基础层和叠加层,并将它们添加到控件中,像这样:

var controlLayers = L.control.layers(baseLayers, overlayMaps).addTo(map);

最新更新