Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Leaflet 单张js在一个坐标中处理许多标记_Leaflet_Leaflet.markercluster - Fatal编程技术网

Leaflet 单张js在一个坐标中处理许多标记

Leaflet 单张js在一个坐标中处理许多标记,leaflet,leaflet.markercluster,Leaflet,Leaflet.markercluster,我正在使用传单JS和传单JS标记聚类来显示我的朋友住在哪里。问题是他们中的一些人住在同一所房子里,所以多个标记的坐标是相同的。当有50多个朋友住在同一个地方时,问题就会发生 是否有任何方法可以隐藏标记,当单击集群时,它将显示一个包含所有名称的表 我的添加标记代码: export function markersFromData(map, markers) { return (data) => { const markerList = []; data.map((v) =

我正在使用传单JS和传单JS标记聚类来显示我的朋友住在哪里。问题是他们中的一些人住在同一所房子里,所以多个标记的坐标是相同的。当有50多个朋友住在同一个地方时,问题就会发生

是否有任何方法可以隐藏标记,当单击集群时,它将显示一个包含所有名称的表

我的添加标记代码:

export function markersFromData(map, markers) {
  return (data) => {
    const markerList = [];
    data.map((v) => {
      const title = v.name;
      const marker = L.marker(new L.LatLng(v.latitude, v.longitude), {
        opacity: 0,
      });
      marker.bindPopup(title);
      markerList.push(marker);
      return markers.addLayer(marker);
    });
    map.addLayer(markers);
    // eslint-disable-next-line
    const group = new L.featureGroup(markerList);
    map.fitBounds(group.getBounds());
  };
}
地图示例


谢谢您的时间。

一个干净的解决方案是,不必为每个数据项(即朋友)建立一个标记,而是首先根据匹配的位置对它们进行分组

然后为每个位置构建一个标记,元数据反映该位置中的项目数量和相关名称列表


然后在传单标记群集组中,使用
iconcreate功能
自定义显示的数字,以将这些朋友的数量而不是子标记的数量相加。

嘿,谢谢你的回答。在这里我已经有了一个方法: