我想知道是否有一些方法可以使用leaflet.js在我的位置附近找到标记.我想到的第一个想法是存储我的位置的lat和lng,然后遍历一系列lat和lng标记,将它们放在一个数组中然后对该数组进行排序.我不确定这是否是一个不错的选择,因为如果你在地图上有一百万个标记需要一段时间.
伪代码
var myLatLng = [34,56]; var markers = [[20,30],[10,20],[12,-100],[54,90],[-10,-20],[20,20]]; var closests = []; function findNearestMarker (myPosition,nearestMarkers){ for(var i = 0; i < nearestMarkers.length){ if((nearestMarkers[i][0] - myPosition[0]) < 100 && (nearestMarkers[i][1] - myPosition[1]) < 100 ){ closests.push(nearestMarkers[i]) } } }
我实际上是从地图开始,并不知道这么多方法,我也想使用这个项目的开放街道地图,但是,如果有人知道并使用谷歌地图或其他服务,它将受到欢迎.
解决方法
尝试
leaflet-knn,它执行最近邻查找:给定一个点和一堆其他点,它找到最近的邻居(如在锡上所说)