Я использую Leafet (точнее, django-sheetlet), и я смог сформировать .on (щелчок) на любом маркере, чтобы он поворачивается на маркер и увеличивает масштаб до 10. Это делается с помощью map.setView (e.target.getLatLng(), 10);Leafet e.target.getLatLng() не работает в сочетании с markercluster
Однако, теперь я применил leaflet markercluster и кажется, что getLatLng() теперь является неопределенной функцией?
код без markercluster, который работает отлично:
function onEachFeature(feature, layer) {
layer.bindPopup(feature.properties.name).on('click', clickZoomy);
function clickZoomy(e) {
if (map.getZoom() < 10){
map.setView(e.target.getLatLng(),10) //ZOOM
} else{
map.setView(e.target.getLatLng())
}};
Вот код, я использую с markercluster:
var multimarker = new L.MarkerClusterGroup();
multimarker.addLayer(L.marker([52.526013, 13.398351],{icon: markHospital})).on('click', clickZoom);
multimarker.addLayer(L.marker([52.513666, 13.389633],{icon: markHospital})).on('click', clickZoom);
multimarker.addLayer(L.marker([52.512842, 13.389277],{icon: markHospital})).on('click', clickZoom);
map.addLayer(multimarker); function clickZoom(e) {
map.setView(e.target.getLatLng(),10)};
Лучше пример. setView будет работать с одиночной точкой внизу, но не с помощью markercluster. (var mmarker = new L.MarkerClusterGroup(); mmarker.addLayer (L.marker ([52.526013, 13.398351])). on ('click', clickZoom) mmarker.addLayer (L.marker ([52.513666, 13.389633])). On ('click', clickZoom) mmarker.addLayer (L.marker ([52.512842, 13.389277],)). On ('click', clickZoom); map.addLayer (mmarker); L.marker ([51.941196,4.512291]) AddTo (карта) .on ('щелчок', clickZoom);. функция clickZoom (е) { map.setView (e.target.getLatLng(), 10) } – Ozie