我有一张地图,上面有很多标记和一个复杂的弹出式内容,由一个名为popupcontent()的函数生成,当使用oneachfeature函数对地图上的所有标记执行此操作时,需要花费大量时间来计算。
有没有办法只在pupop中的函数实际打开时触发它,而不是在开始时生成所有弹出窗口?这将大大加快加载时间。
这是迄今为止我的代码(我正在使用markerclusterer扩展):
var geojson1 = L.geoJson(bigJson,{
onEachFeature: function (feature, layer) {
layer.bindPopup(popupcontent(feature,layer));
}
})
.addLayer(tiles);
var markers = L.markerClusterGroup({
spiderfyOnMaxZoom: true,
showCoverageOnHover: true,
zoomToBoundsOnClick: true,
disableClusteringAtZoom: 10,
removeOutsideVisibleBounds:true
});
var geoJsonLayer = L.geoJson(bigJson, {
});
markers.addLayer(geojson1);
map.addLayer(markers);
map.fitBounds(markers.getBounds());
演示:
http://stefang.cepheus.uberspace.de/farmshops/