我想知道是否实际上有一些方法可以使用leaflet.js在我的位置附近找到标记。首先想到的是存储我的位置的经度和纬度,然后在经纬度和经度标记的数组上进行迭代,然后将它们放置在数组中,然后对该数组进行排序。我不确定这是否是一个好选择,因为如果您的 map 上有一百万个标记,将需要一段时间。

伪代码

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])
     }
 }
}

我实际上是从 map 开始的,不知道很多方法,我也想为这个项目使用开放式街道 map ,但是,如果有人知道并使用Google map 或其他服务,那将受到欢迎。

最佳答案

尝试leaflet-knn,它执行最近邻居查找:给定一个点和一堆其他点,它会找到最近的邻居(如在锡盒上所说的)

09-06 00:08