传单JS-是否可以查询?
简而言之,我想做的是:
使用最新版的Leaflet JS,我想知道是否有可能在一个位置显示多个标记,并在一个弹出窗口中显示
。答案 0 :(得分:1)
不,这不可能。
您应该事先对数据进行预处理,以使具有相同坐标的多个数据点折叠到相同的标记和弹出窗口中。
换句话说:遍历数据点,并针对每个数据点检查该位置是否存在标记。如果是这样,请添加数据到标记的属性或弹出窗口;如果没有,请创建一个新标记。具体算法将取决于您数据的性质。如果您的数据集很大,您可能还想使用更复杂的数据结构,例如r树。
还有一个快捷和肮脏的选项,使用marker clusters,禁用蜘蛛化,然后对群集标记的事件处理程序使用自定义代码。这与上面定义的算法几乎相同,只是标记聚类算法负责定位附近的数据点。
答案 1 :(得分:0)
我制作了一张相似的地图,完全按照Ivan的描述,我使用了markerCluster插件,并在cluster click上禁用了spiderfy。然后,我使用“用于集群标记的事件处理程序的自定义代码”在一个外部div中显示多个标记的数据。
可以找到一个示例here。
还有一本教程,它准确地描述了您正在寻找的here,同时也使用了markerCluster js。
希望它也可以帮助其他人!