Как сравнить два маршрута с помощью API направления Google или другого приложения API для iPhone - PullRequest
5 голосов
/ 27 декабря 2011

Я хочу сравнить два маршрута, чтобы проверить, совпадают они или нет в моем приложении для iPhone.

Есть человек X, который хочет перейти в точку A в точку B, а другой человек хочет перейти в точку A1 к точке B1.

Я могу получить маршрут между А и В, используя API этого направления Google.

http://maps.googleapis.com/maps/api/directions/xml?origin=Point a A address&destination=Point B address&sensor=false

таким же образом я могу получить маршрут от А1 до В1.

но широта и долгота, которые я получаю в xmls, не совпадают (даже одна точка не совпадает). Итак, вот мой вопрос, как я могу найти два маршрута, которые я хочу знать, это один и тот же маршрут или нет.

enter image description here

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

В ГИС размещен вопрос о сравнении двух полилиний.Пожалуйста, посмотрите на эту ссылку -

https://gis.stackexchange.com/questions/8799/how-to-compare-2-polyline-datasets

1 голос
/ 28 декабря 2011

Если оптимальный маршрут A1B1 на самом деле является подмножеством маршрута AB, я бы ожидал, что start_location и end_locations для соответствующих шагов будут иметь одинаковые долготы и широты, но это не является обязательным требованием API направлений.Наилучший путь от А до В может проходить через А1 и В1, но это не означает, что наилучший путь от А1 до В1 будет иметь те же самые шаги.

То, что я хочу сделать, это посмотреть наточки ломаной линии возвращаются для сегментов маршрута и проверяют, пройдут ли они через А1 и В1 в правильном порядке.Вы можете расширить закодированные строки ломаной линии в список широт и долгот, используя этот алгоритм.

...