Поиск ближайших метро
Может кто помочь с реализацией вот такой программы: Пользователь должен ставить метку на карте, после чего ему должны быть представлены ближайшие станции метро. На данный момент я добавил карту и возможность установления метки с получением ее координат, дальше ступор, хелпплз
|
Допустим, юзер жмякнул карту по координатам {lat, lon}
Ты в цикле перебираешь массив станций метро с их координатами (у тебя ведь есть такой массив, да?), для каждой вычисляешь расстояние от точки, если расстояние меньше некоторого значения, добавляешь в результат. Для Москвы (широта примерно 60 гр) расстояние вычисляется так: function distance60(c1, c2) { return Math.pow(c1.lat - c2.lat, 2) * 4 + Math.pow(c1.lon - c2.lon, 2); } это на самом деле квадрат расстояния, в неких абстрактных единицах, просто для того чтобы сравнить с другими. |
Цитата:
Но вы могли просто вычислить угол между двумя прямыми, обе из которых проходят через центр земли, и одна из них через проверяемую станцию, а другая через ваше местоположение. Очевидно же, чем меньше угол, тем меньше путь до неё! |
Цитата:
|
https://tech.yandex.ru/maps/jsbox/2.1/reverse_geocode
Цитата:
|
Часовой пояс GMT +3, время: 12:16. |