Использование openPopup () с Leaflet.js + кластеризация - PullRequest
1 голос
/ 09 марта 2012

Я уже некоторое время использую фантастическую библиотеку отображения OpenStreetMap leaflet.js, и я только начал реализовывать этот плагин кластеризации . У меня все отлично работает с текущим проектом, который загружает разные слои на карту и в интерактивную боковую панель.

Единственная проблема заключается в том, что, если я щелкаю по элементу боковой панели и соответствующий маркер находится в объекте кластеризации, я получаю сообщение об ошибке. Я справился с этим, проверив наличие ошибки (используя try / catch) и увеличив масштаб, чтобы слой был виден, как показано ниже:

$('.item').click(function() {
    currentlayer = this.id;
...
        try {
            geojson._layers[currentlayer].openPopup();
        } catch(e) {
            map.setView(geojson._layers[currentlayer]._latlng, 16); 
            geojson._layers[currentlayer].openPopup();
        }                   
...
    return false;
});

Единственная проблема заключается в том, что я получаю ту же ошибку при попытке запустить метод openPopup () после масштабирования, хотя, если я снова нажимаю на боковую панель, всплывающее окно показывает нормально. Вы можете увидеть это в действии здесь:

http://www2.lichfielddc.gov.uk/myarea/map2.php

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 15 июля 2012

Да, у меня была такая же проблема с этим плагином. Поэтому я разработал свой собственный, который должен правильно размещать всплывающие окна. Я также встраиваю некоторые события, чтобы вы могли запускать некоторый код при щелчке по кластеру или предотвратить изменение уровня масштабирования.

https://github.com/cavis/leafpile

Кроме того, я работаю над проектом, аналогичным вашему - https://github.com/cavis/slidemapper. Это плагин jquery для создания слайд-шоу, которое следует на карте. Я работаю над интеграцией моего плагина leafpile прямо в него.

0 голосов
/ 05 декабря 2012

Возможно, вам пришлось увеличить масштаб слоя кластера, используя zoomToShowLayer:

https://github.com/Leaflet/Leaflet.markercluster/issues/75

...