单张,从L.MarkerClusterGroup获取所有L.Marker信息,就像收集一样

时间:2015-10-12 09:51:25

标签: javascript leaflet markers

这只是一个愚蠢的问题,但是提出了一些问题,我正在研究一个Leaflet项目,使用javascript,现在我需要来自L.MarkerClusterGroup(充满了许多Marker),检索所有的L.Marker像一个Collection(Array,List,ecc。),因为我需要对Marker做一些特定的操作,并提供一些特定的信息。所以我试着创建一个像这样的函数getMarker:

var markerClusters = new L.MarkerClusterGroup();
var arrayOfMarkers = [];
//Init the Leaflet Map, Add the Layer markerClusters,Add some L.Marker on markerCluster, show the Map with all the Marker.

function getAllInfoOfMarkers(){
  var arrayClusterMarker = getMarkers(); //here i have the issue to retrieve the marker.
  for(i = 0; i < arrayClusterMarker.length; i++){
    var infoMarker = [];
    var name = arrayClusterMarker[i].name;
    var lat = arrayClusterMarker[i].lat;
    var lng = arrayClusterMarker[i].lng;
    //do something specific.... 
    infoMarker.push(name);
    infoMarker.push(lat);
    infoMarker.push(lng);
    arrayOfMarkers.push(infoMarker);
  }
}

这是我的getMarkers()函数,但它不起作用:

function getMarkers(){
    var array = [];
    alert("compile getMarkers");
    var i = 0;
    markerClusters.eachLayer(function (layer) {
        var lat = layer.getLatLng().lat;
        var lng = layer.getLatLng().lng;
        var location = layer.getLocation();
        var popupContent = layer.getPopup();
        alert("marker number("+i+"):"+lat+","+lng+","+location+","+popupContent);
        array.push({name:location,lat:lat,lng:lng});
        i++;
    });
    return array;
}
事先提出任何建议。

更新1: 好吧,我是一个白痴,功能工作很好,但弹出内容的正确变量是:

var popupContent = layer.getPopup().getContent();

0 个答案:

没有答案