2016-07-25 4 views
1

Я использую 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)}; 
+0

Лучше пример. 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

ответ

0

Я имел скобка в неправильном месте.

multimarker.addLayer(L.marker([52.526013, 13.398351],{icon: markHospital})).on('click', clickZoom); 

должен быть изменен на

multimarker.addLayer(L.marker([52.526013, 13.398351],{icon: markHospital}).on('click', clickZoom)); 
+0

Добро пожаловать в SO! Пожалуйста, вы можете принять ваш ответ, чтобы люди знали, что ваша проблема решена? Спасибо! – ghybs

Смежные вопросы