【问题标题】:combining overlays in mapbox / leaflet layers control在 mapbox / 传单图层控件中组合叠加层
【发布时间】:2014-07-25 08:48:40
【问题描述】:

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

请注意,这不是一个选项:

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

【问题讨论】:

    标签: javascript leaflet mapbox tilemill


    【解决方案1】:

    你可以使用 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);
    

    您可能对此线程感兴趣Leaflet layer control for basemap group layers

    【讨论】:

      【解决方案2】:

      您可以将 L.control.layers 与 L.layerGroup 一起使用。这是我为此写的JSFiddle。您可以添加任意数量的基础层或覆盖层。

      创建 L.layerGroups 后,定义基础层和覆盖层并将它们添加到控件中,如下所示:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-12
        • 1970-01-01
        • 2018-12-03
        • 1970-01-01
        • 2013-06-25
        • 2018-11-25
        • 1970-01-01
        • 2014-09-08
        相关资源
        最近更新 更多