Я использую фантастическую библиотеку сопоставлений OpenStreetMap leaflet.js некоторое время, и я только начал внедрять this clustering plugin. У меня это нормально работает с текущим проектом, который загружает разные слои на карту и в интерактивную боковую панель.Использование openPopup() с Leaflet.js + Кластеризация
Единственная проблема в том, что если я нажму на элемент боковой панели и соответствующий маркер находится в объекте кластеризации, я получаю сообщение об ошибке. Я получил вокруг этого проверка на наличие ошибок (с помощью TRY/поймать) и масштабирование, так что слой виден, как показано ниже:
$('.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
Любые идеи?