2012-06-28 1 views
1

У меня есть список точек с координатами широты и долготы, из которых я хочу ввести точку, скажем, X. Мне нужна помощь при разработке алгоритма для определения ближайших 3 членов списка к этой точке x.Как получить ближайшие точки X из точки с широтой и долготой?

+0

http://stackoverflow.com/questions/7120872/algorithm-to-calculate-nearest-location-based-on-longitude-latitude – Joe

ответ

1

Возможно, вам придется использовать Haversine Formula. Он вычисляет расстояние Великого круга между двумя точками на поверхности Земли. Here's хорошая статья, объясняя это, и here's ответ на вопрос, похожий на ваш. Надеюсь, это поможет!

0

Смотрите метод computeDistanceBetween() в пространстве имен google.maps.geometry.spherical:

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

Тогда вот старый V2 демо, которое использует Array.sort():

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

Вы можете комбинировать два, реализуя вместо метода compareDistance() вместо функции compareDistance() как функцию сортировки . Обратите внимание, что все это делается на стороне клиента.

Смежные вопросы