Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Leaflet 将窗格平铺层与图层组控件集成(V1.0)_Leaflet - Fatal编程技术网

Leaflet 将窗格平铺层与图层组控件集成(V1.0)

Leaflet 将窗格平铺层与图层组控件集成(V1.0),leaflet,Leaflet,我试图找到一种方法,将层组控件与两个可见的平铺层进行集成,以使标签位于我生成的多边形上方 -图层组指南 -窗格玻璃指南 我的目标是将常用的深色和浅色cartodb贴图作为选项,但仍然使用窗格功能 我曾尝试过类似下面的东西,但我不相信传单能够以这种方式处理它 是否有人找到了一种方法来正确集成此功能 var darkTile = L.tileLayer('http://{s}.basemaps.cartocdn.com/dark_nolabels/{z}/{x}/{y}.png', {

我试图找到一种方法,将层组控件与两个可见的平铺层进行集成,以使标签位于我生成的多边形上方

-图层组指南 -窗格玻璃指南

我的目标是将常用的深色和浅色cartodb贴图作为选项,但仍然使用窗格功能

我曾尝试过类似下面的东西,但我不相信传单能够以这种方式处理它

是否有人找到了一种方法来正确集成此功能

var darkTile = L.tileLayer('http://{s}.basemaps.cartocdn.com/dark_nolabels/{z}/{x}/{y}.png', {
        attribution: '©OpenStreetMap, ©CartoDB'
    }).addTo(map);

    var darkLabels = L.tileLayer('http://{s}.basemaps.cartocdn.com/dark_only_labels/{z}/{x}/{y}.png', {
        attribution: '©OpenStreetMap, ©CartoDB',
        pane: 'labels'
    }).addTo(map);

    var lightTile = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png', {
        attribution: '©OpenStreetMap, ©CartoDB'
    });//.addTo(map);

    var lightLabels = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}.png', {
        attribution: '©OpenStreetMap, ©CartoDB',
        pane: 'labels'
    });//.addTo(map);
    var light = {
        lightTile,
        lightLabels
    };

    var dark = {
        darkTile,
        darkLabels
    };

    var baseMaps = {
        "Light" : light,
        "Dark" : dark
    };

    L.control.layers(baseMaps).addTo(map);
  • 确保明确创建窗格:
  • map.createPane(“标签”);
    
  • 创建以收集平铺层(底图和标签),而不是简单的JS对象。传单不会使用您的普通对象
  • var light=L.layerGroup([
    轻质瓷砖,
    光标签
    ]);
    var dark=L.layerGroup([
    黑暗的,
    达克拉贝尔斯
    ]).addTo(映射);//将组添加到地图,而不是其各个图层。
    
    演示:

  • 确保明确创建窗格:
  • map.createPane(“标签”);
    
  • 创建以收集平铺层(底图和标签),而不是简单的JS对象。传单不会使用您的普通对象
  • var light=L.layerGroup([
    轻质瓷砖,
    光标签
    ]);
    var dark=L.layerGroup([
    黑暗的,
    达克拉贝尔斯
    ]).addTo(映射);//将组添加到地图,而不是其各个图层。
    

    演示:

    完美-感谢您的帮助和解释:)欢迎您!请注意,感谢他人的方式也是接受帮助你的答案。一旦你有足够的“声誉”,你也将有能力“投票”。完美-谢谢你的帮助和解释:)欢迎你!请注意,感谢他人的方式也是接受帮助你的答案。一旦你有足够的“声誉”,你也将有能力“投票”。