[英]Leafletjs map overlays stops working when markers are added using a loop
[英]Callback when all layer are added to leafletjs map
情况:我正在向我的地图添加一个新的 geoJson 图层,并且我想在添加所有标记后对其进行动画处理,每个标记之间会有轻微的延迟。 API 似乎可以做所有事情,但在添加最后一个标记时提供回调!
示例代码
L.geoJson(data, {
onEachFeature: function (feature, layer) {
console.log(feature, layer);
}
}).addTo(map);
我想要的是
L.geoJson(data, {
onEachFeature: function (feature, layer) {
console.log(feature, layer);
},
complete:function(layers){
console.log(layers);
}
}).addTo(map);
我知道每个图层都有一个 onAdd 事件,但是 layerGroup 有类似的吗?
谢谢
我已经联系了leafletjs的主要贡献者,并且不需要对标准的geojson层进行回调,你可以这样做;
var layer = L.geoJson(data, {}).addTo(map);
animateMyIconsIn(layer.getLayers()); // your custom function
但是,如果您使用 AJAX 插件,则确实需要回调;
//first create the layer
var layer = L.geoJson.AJAX(url, {});
//then add a listener
layer.on('dataLoadComplete',function(e){
//finally add the layer
layer.addTo(map);
animateMyIconsIn(layer.getLayers()); // your custom function
});
更新的语法目前是从这篇文章中找到的“数据:加载”;
https://gis.stackexchange.com/questions/271919/how-to-cluster-external-geojson-using-leaflet-ajax-js
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.