【发布时间】:2020-04-08 19:20:33
【问题描述】:
我的传单有问题。我尝试只添加一层,但传单添加了不止一层。
代码如下:
var region_layer = L.geoJSON(layer);
// Count layers
console.log("Before adding a layer")
let i = 0;
mymap.eachLayer(function(){ i += 1; });
console.log('Map has', i, 'layers.');
// Add one layer
mymap.addLayer(region_layer);
// Count layers again
console.log("After adding a layer")
let z = 0;
mymap.eachLayer(function(){ z += 1; });
console.log('Map has', z, 'layers.');
这是控制台中的输出:
Before adding a layer
Map has 0 layers.
After adding a layer
Map has 3 layers.
这是第一个变量layer的方面:
为什么传单添加了三层而不是一层?
【问题讨论】:
-
一个MultiPolygon形状,也就是你的geojson,用一个多维数组表示检查here
-
@kboul 是的,但在这种情况下,多维数组只有 1 维,因为我只有 1 个多边形。而且,无论如何,这并不能解释为什么我有 3 层,其中 1 层包含所有多边形,因为它应该是
-
map.eachLayer()迭代地图下层的整个结构。不仅仅是您添加的底层多边形。它至少会找到MultiPolygon(即layerGroup)和每个单独的多边形。使用instanceOf确定它发现了什么。
标签: javascript leaflet layer