我正在使用Leaflet JS构建我的地图,但是我选择图层时遇到了一些问题。
我想将我的地图适配到一个多边形上。Leaflet为地图上的每个元素生成一个Leaflet ID,但这些ID是随机的。因此,我想创建一个数组,将每个Leaflet ID与已知的多边形ID关联起来。
这个概念来自于这里如何从地图外部与叶片标记层交互?,但我不确定如何实现它。
对象'map._layers'存储所有元素,包括每个多边形的ID。所以我按照以下方式循环:
现在我可以使用该数组将我的多边形ID与Leaflet ID关联起来。结果数组应如下所示:
我想将我的地图适配到一个多边形上。Leaflet为地图上的每个元素生成一个Leaflet ID,但这些ID是随机的。因此,我想创建一个数组,将每个Leaflet ID与已知的多边形ID关联起来。
这个概念来自于这里如何从地图外部与叶片标记层交互?,但我不确定如何实现它。
对象'map._layers'存储所有元素,包括每个多边形的ID。所以我按照以下方式循环:
var idstore = [];
for (var x in map._layers) {
// here idstore[x['polyid']] = x;
}
现在我可以使用该数组将我的多边形ID与Leaflet ID关联起来。结果数组应如下所示:
array('polygonid'=>'leafletid','155447'=>'478','748745' => 479);
我的问题是循环没有正确工作。我只能看到前两条记录,实际上它们是覆盖层(地图瓦片)。但这些元素确实在该对象中。
我做错了什么?
eachLayer
。如何跳出这个循环? - JeffeachLayer
并使其在类似于 jQuery 的.each
中断时中断,谢谢。 - Jeff