2017-10-06 14 views
1

アプリケーションに次のコードがあり、すべてのマーカーが1つのグループに追加されています。マップがロードされたときに、クラスタで折りたたまれていないマーカーポップアップがポップアップ表示されます。リーフレットmarkerclusterロード時のポップアップ表示

var markers = [{ 
     "latLong": [57.67, -3.89] 
     }, 
    { 
     "latLong": [-4.4, -58.34] 
     }, 
    { 
     "latLong": [35.79, 139.48] 
     }], 
markerGroup = L.markerClusterGroup(), 
marker; 

markers.forEach(function (markerConfig, index) { 

marker = new L.Marker(new L.LatLng(markerConfig.latLong[0], markerConfig.latLong[1])); 
marker.bindPopup(index, { 
    "autoClose": false, 
    "closeOnClick": false 
}).openPopup(); 
markerGroup.addLayer(marker); 
}); 

clusterMap.addLayer(markerGroup); 

(クラスタの一部が、マップはそのズームレベルでロードされたときに、特定のズームレベルにクラスタに崩壊していないマーカーが)私は、ポップアップを開くには、マーカー上openPopupの()メソッドをしたいです地図が読み込まれると、マーカーがクリックされると開きます。助けてください。

答えて

0

解決方法が見つかりました。まず、クラスターグループをマップに追加してからマーカーをグループに追加し、マーカーでopenPopupを呼び出します。だから、それは機能を呼び出す順番の問題でした。

var markers = [{ 
      "latLong": [57.67, -3.89] 
      }, 
     { 
      "latLong": [-4.4, -58.34] 
      }, 
     { 
      "latLong": [35.79, 139.48] 
     }], 
    markerGroup = L.markerClusterGroup(), 
    marker; 
clusterMap.addLayer(markerGroup); 

markers.forEach(function (markerConfig, index) { 
    marker = new L.Marker(new L.LatLng(markerConfig.latLong[0], markerConfig.latLong[1])); 
    markerGroup.addLayer(marker); 
    marker.bindPopup(index, { 
     "autoClose": false, 
     "closeOnClick": flase 
    }).openPopup(); 
}); 
関連する問題