私はしばらくの間、素晴らしい 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
何か案は?