这只是一个愚蠢的问题,但是提出了一些问题,我正在研究一个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();