1

我有一组经纬度和一个中心点。

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

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

4

1 回答 1

1

你可以使用geohash。
标准 geohash 可以为您提供一个很好的起点,因为哈希表示位置,因此您可以根据您的精度在某个掩码上按哈希分组。
参考:https ://en.wikipedia.org/wiki/Geohash

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

但是我已经实现了一种替代算法来解决这些问题:https
://github.com/linehrr/geohash 缺点是精度是预先确定的,因此屏蔽不起作用,因为它不是线性的。

希望这可以帮助。

于 2017-12-28T06:06:59.647 回答