传单markercluster打开弹出窗口加载

时间:2017-10-06 07:08:57

标签: javascript leaflet leaflet.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()方法,在加载地图时打开弹出窗口,在单击标记时打开。请帮忙。

1 个答案:

答案 0 :(得分: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();
});