Есть ли способ определить, находится ли конкретный адрес на маршруте в пределах x миль? - PullRequest
5 голосов
/ 30 января 2010

Есть ли способ определить, находится ли конкретный адрес на маршруте в пределах х миль?Есть ли поддержка этого в API карт Google?

У меня есть база данных адресов, и я пытаюсь выяснить, какие местоположения лежат вдоль данного маршрута, как определено API Карт Google.

Ответы [ 2 ]

1 голос
/ 31 января 2010

Билл Чедвик имеет код «Расстояние от точки до полилинии или многоугольника» внизу этой страницы , что может оказаться полезным.

1 голос
/ 30 января 2010

Вы можете установить опцию getPolyline в необязательном параметре GDirectionsOptions для запроса GDirections load . Это даст вам данные полилинии для маршрута.

Получив эти данные, вы можете выполнить итерацию по каждой точке полилинии и определить расстояние до каждой из ваших собственных точек данных (для вычисления расстояния можно использовать метод GLatLng distanceFrom ).

Если у вас есть кратчайшее расстояние до вашего маршрута для каждой из ваших точек данных, вы можете и на основе некоторого допуска работать с ним, если точка лежит на маршруте.

Редактировать

Несмотря на то, что можно вызывать метод GLatLng distanceFrom несколько раз (это просто служебный метод для получения расстояния между двумя точками), я понял, что мой ответ упрощает задачу. Чтобы получить точное расстояние от маршрута, вам необходимо определить расстояние от ломаной линии между ближайшими двумя точками (а не только расстояние от каждой точки).

...