2017-08-11 49 views
1

我有一个经纬度和中心点的数组。如何在特定范围内获取附近的位置?

{ 
    center: { 
    lat: 10.002, 
    lng: 20.003 
    }, 
    all: [ 
    { 
     lat: 20, 
     lng: 50 
    }, 
    { 
     lat: 10, 
     lng: 20.000001 
    }, 
    // ... 
    ] 
} 

我想知道如何在10公里或其他特定范围内获得附近的位置。有没有关键字或图书馆可以帮助我做到这一点?

回答

0

您可以使用geohash。
标准geohash可以给你一个很好的起点,因为散列表示的位置,所以你可以根据你的精确度在特定掩码上的散列进行分组。
参考:https://en.wikipedia.org/wiki/Geohash

这种方法很简单,有很多库。
但它也遭受极点失真和边缘情况。

但是我已经实现的替代算法来解决这些问题:https://github.com/linehrr/geohash
缺点是精度是预先确定的,所以掩蔽不会工作,因为它不是线性的。

希望这有助于。

相关问题