Google maps: точки в пределах допуска от пути
Я пытался использовать google.maps.geometry.poly.isLocationOnEdge(position, path, tolerance)
функция, чтобы решить, является ли position
(широта, долгота) пара находится в пределах определенного расстояния (геодезического расстояния) от обозначенного пути. API говорит, что допуск относится к измерениям, сделанным в градусах, поэтому один простой способ найти, скажем, точки в радиусе буфера в 50 км от определенного пути, - это предоставить допуск, равный 50/111 градусам (потому что можно предположить, что что степень соответствует 111 км как пройденное расстояние на сфере). К сожалению, это очень странно и дает много ложных срабатываний, даже если они находятся в 200 км от пути. Я неправильно понимаю, что делает эта функция?
1 ответ
111 км - это длина продольного градуса на нулевой широте, но это расстояние будет варьироваться в зависимости от нескольких факторов для разных мест. Вам нужна функция, которая вычислит расстояние (в градусах) между двумя значениями LatLng.
Посмотрите главный ответ в этом вопросе для примера реализации.