Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用传单js+获取组标记的位置;markercluster插件_Javascript_Leaflet_Openstreetmap_Mapquest - Fatal编程技术网

Javascript 使用传单js+获取组标记的位置;markercluster插件

Javascript 使用传单js+获取组标记的位置;markercluster插件,javascript,leaflet,openstreetmap,mapquest,Javascript,Leaflet,Openstreetmap,Mapquest,我正在使用传单JS在地图上绘制出租房屋(也在使用openstreetmap),我正在使用传单.markercluster将这些标记分组到标记簇上,直到用户放大地图 在分组图标上,我显示了分组在该集群中的出租房屋的数量,当您将鼠标放在分组图标上时,我想画一个圆圈。圆圈大小取决于分组标记的数量,我需要圆圈的中心位于标记簇的同一位置 我的问题是,我无法获取集群标记的位置,我试图捕获onMouseOver事件,而我获取的位置是组中第一个标记的位置 在我的理想情况下,我需要在所有成组标记中间的聚类标记图标

我正在使用传单JS在地图上绘制出租房屋(也在使用openstreetmap),我正在使用传单.markercluster将这些标记分组到标记簇上,直到用户放大地图

在分组图标上,我显示了分组在该集群中的出租房屋的数量,当您将鼠标放在分组图标上时,我想画一个圆圈。圆圈大小取决于分组标记的数量,我需要圆圈的中心位于标记簇的同一位置

我的问题是,我无法获取集群标记的位置,我试图捕获onMouseOver事件,而我获取的位置是组中第一个标记的位置

在我的理想情况下,我需要在所有成组标记中间的聚类标记图标,该圆的半径将覆盖所有的分组标记位置,但我的问题是,如何得到分组标记位置。 这是我的markercluster代码

var markers = new L.MarkerClusterGroup(); 
for (var i = 0; i < addressPoints.length; i++) {
    var a = addressPoints[i];
    var title = a[2];
    var marker = L.marker(new L.LatLng(a[0], a[1]), {
        title: title
    });

    var htmlPopUp = '<div><span class="marker-count">'+title+'</span></div>';
    marker.bindPopup(htmlPopUp);
    markers.addLayer(marker);
}

map.addLayer(markers);
//Create circleMarker for on Hover
var circleMarker = L.circle([-9999,-9999], "-1").addTo(map);
markers.on('clustermouseover', function (a) {
  var circleRadius = a.layer.getAllChildMarkers().length *10000 / Math.pow(map.getZoom(), 3);
  circleMarker.setLatLng([a.layer._cLatLng.lat,a.layer._cLatLng.lng]);
  circleMarker.setRadius(circleRadius);
});
var markers=newl.MarkerClusterGroup();
对于(变量i=0;i

addressPoints包含标记的纬度和经度点

这应该很简单,请尝试:

markers.on('clustermouseover', function (e) {
    console.log(e.latlng);
}