javascript - combining overlays in mapboxleaflet layers control - Stack Overflow

I'm trying to bine 2 or more overlays into one overlay checkbox. I'm using leaflet layers con

I'm trying to bine 2 or more overlays into one overlay checkbox. I'm using leaflet layers control with mapbox.js 1.6 to toggle my overlays. It doesn't matter to me if I bine them on mapbox into one data layer, or if I bine separate data layers in my JS code into one overlay checkbox, but I can't seem to do either. I'm exporting MBTiles from Tilemill to my Mapbox account.

Note that it's not an option to:

  • bine them in Tilemill (the single zoom level and square bounding box won't work for me across all layers)
  • add the various data layers to a single map project on Mapbox (I'd like it to be toggleabe by the user)

I'm trying to bine 2 or more overlays into one overlay checkbox. I'm using leaflet layers control with mapbox.js 1.6 to toggle my overlays. It doesn't matter to me if I bine them on mapbox. into one data layer, or if I bine separate data layers in my JS code into one overlay checkbox, but I can't seem to do either. I'm exporting MBTiles from Tilemill to my Mapbox account.

Note that it's not an option to:

  • bine them in Tilemill (the single zoom level and square bounding box won't work for me across all layers)
  • add the various data layers to a single map project on Mapbox. (I'd like it to be toggleabe by the user)
Share Improve this question edited Jul 25, 2014 at 9:04 sehop asked Jul 25, 2014 at 8:48 sehopsehop 951 silver badge5 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4

You can use L.layerGroup to bine layers

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);

You may be interested in this thread Leaflet layer control for basemap group layers

You can use the L.control.layers with the L.layerGroup. Here is the JSFiddle I wrote for this. You can add as many base or overlay layers you want.

Once you create the L.layerGroups, define the base and the overlay layers and add them to the control like this:

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

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745608421a4635807.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信