use*_*165 2 javascript maps object leaflet
我正在使用Leaflet JS来构建地图,但是在选择图层时遇到了一些问题。
我的目标是使地图适合多边形。Leaflet为地图上的每个元素生成一个Leaflet ID,但是这些ID是随机的。因此,我想创建一个将每个Leaflet ID与已知的多边形ID链接起来的数组。
这个概念来自这里。如何与地图外部的传单标记层互动?但我不确定如何实施。
对象“ map._layers”存储所有元素,包括每个多边形的ID。所以我如下遍历它:
var idstore = [];
for (var x in map._layers) {
// here idstore[x['polyid']] = x;
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以使用该数组将多边形ID与传单ID关联。结果数组应如下所示:
array('polygonid'=>'leafletid','155447'=>'478','748745' => 479);
Run Code Online (Sandbox Code Playgroud)
我的问题是循环无法正常工作。我只能看到即将出现的前2条记录实际上是叠加层(地图图块)。元素肯定在那个对象中。
我究竟做错了什么?
一个很好的第一步是浏览Leaflet参考文档,并使用文档.eachLayer功能而不是对私有变量进行for循环。
var idstore = [];
map.eachLayer(function(layer){
// ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15371 次 |
| 最近记录: |