计算用户与地图标记的接近度

Calculate user proximity to map marker

计算用户与地图标记的接近度的简单方法是什么,我尝试使用以下函数,但我认为这不是最佳方法。

  const userLatitudeIsWithinRadious = (collectible: any, userCords: any) =>
    collectible.latitude + 0.01 > userCords.latitude &&
    collectible.latitude - 0.01 < userCords.latitude;

  const userLongitudeIsWithinRadious = (collectible: any, userCords: any) =>
    collectible.longitude - 0.001 <=
    userCords.longitude >=
    collectible.longitude + 0.001

我正在使用 react-map-gl as a React wrapper for mapbox,所以我不确定文档中是否有特定的解决方案(尚未找到。)。

我想你可以使用这个 npm 包来得到你的答案

https://www.npmjs.com/package/geolocation-utils

获取用户和地图标记坐标并将它们传递给“geolocation-utils”npm 包中的“distanceTo()”方法并获取距离

distanceTo({lat: 51, lon: 4}, {lat: 51.0006, lon: 4.001}) // 96.7928594737802 米

您可以在此包中查看更多方法