У меня есть карта с большим количеством маркеров и сложным всплывающим контентом, сгенерированным функцией popupcontent (), вычисление которой занимает много времени, когда это делается для всех маркеров на карте с помощью функции oneachfeature.
Есть ли способ вызвать функцию в куколке только тогда, когда она действительно открыта, вместо генерации всех всплывающих окон в начале? Это значительно ускорит время загрузки.
Пока это мой код (я использую расширение 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/