Leaflet とMarker Clustererを使用してマーカーを整理し始めたところです。
問題 #1:クラスター化されていないマーカーをクリックすると、ポップアップが表示されません。
問題 #2:クラスターを数回クリックすると、そのクラスター内のすべてのマーカーが表示され、このマーカーの 1 つをクリックすると、そのポップアップが表示されます! ただし、マップをクリックしてポップアップを閉じた後、これらのクラスター化されたマーカーのいずれかをクリックしても、ポップアップは開きません!
クラスター化されていないマーカーが 3 つしかない場合、ポップアップは正常に機能します。ただし、マーカーが追加されると、クラスターが形成されると、クラスター内のマーカーをクリックしてもポップアップが開きません!
マーカークラスタラーの初期化
markers = new L.MarkerClusterGroup();
map.addLayer(markers);
マーカークラスターに追加されたすべてのマーカーmarkers
render
関数をループ呼び出ししてを作成marker
し、markerclusterer の配列に追加しますmarkers
。(backbone.js コードは無視してください)
ListingMarkerView = Backbone.View.extend({
template: _.template( $('#tpl_ListingMarkerView').html() ),
render: function() {
// Create marker
var content = this.template( this.model.toJSON() );
var marker = new L.marker(
[this.model.get('lat'), this.model.get('lng')],
{content: content});
marker.bindPopup(content);
// Add to markerclusterer
markers.addLayer(marker);
}
});
マーカークラスタラーなし
marker
を直接追加するmap
と、markerclusterer 配列の代わりにmarkers
、ポップアップが正常に動作するので、問題はmarkerclusterer に関係していると思います。
ポップアップのそのような動作につながる何か間違ったことをしましたか? すべての助けに感謝します、ありがとう!