1

我有一个带有纬度和经度坐标的点列表,我想从中输入一个点,比如 X。我需要帮助提出一种算法来确定最接近该点 x 的 3 个列表成员。

4

2 回答 2

1

您可能必须使用Haversine Formula。它计算地球表面上两点之间的大圆距离。 这是一篇很好的文章来解释这一点,这是对与您的问题类似的问题的答案。希望有帮助!

于 2012-06-28T17:39:18.460 回答
0

请参阅 google.maps.geometry.spherical 命名空间中的方法 computeDistanceBetween():

https://developers.google.com/maps/documentation/javascript/reference#spherical

然后,这是一个使用 Array.sort() 的旧 V2 演示:

http://maps.forum.nu/gm_array_sort.html

您可以将两者结合起来,实现 computeDistanceBetween() 而不是 compareDistance() 作为排序函数。请注意,这都是在客户端完成的。

于 2012-06-30T13:26:57.753 回答