Как проверить, есть ли место между маршрутом, используя API Google Maps - PullRequest
3 голосов
/ 28 января 2012

Привет, я разрабатываю проект по объединению автомобилей (пользователи могут предлагать подъемники и подъезжать к людям), проблему лучше понять на примере


Пример:
предположим, что человек A путешествует от места начала A к концу A и готов предложить несколько мест в своем автомобиле. Тогда человек B таков, что его начальное положение начала B находится между началом A и концом A, а его конец B может или не может быть быть между начала А до конца А.
тогда как проверить, находится ли startB между startA и endA, используя API Google Maps
Я делаю свой проект на PHP.

1 Ответ

2 голосов
/ 29 января 2012

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

Позвольте мне предположить, что вы можете делегировать вычисления движку JavaScript браузера. Затем вы можете запросить направление от начала A до конца A и использовать RouteBoxer с порогом T1 того, как далеко человек A готов отклониться от исходного маршрута, чтобы выбрать человека B.

С этим порогом вы можете построить набор ограничивающих рамок для поиска по маршруту от startA до startB на расстоянии T1 и проверки, содержится ли startB в одном из этих рамок.

Существует также пороговое значение T2 того, насколько далеко от конца B находится человек B, желающий быть отброшенным, но его можно легко рассчитать, запросив (в разных запросах) направления движения и / или пути от конца A к концу B. Если вышеприведенное (startB находится в пределах T1 от маршрута) верно, но расстояние от endA до endB больше, чем T2, тогда вы можете либо предупредить человека B, либо вообще отказаться от маршрута.

Этот проект звучит очень весело, но позвольте мне предупредить вас об одном: вы не хотите отправлять запросы в API Карт Google (особенно в API-адреса) с вашего собственного сервера, используя PHP. Не тогда, когда входные данные предоставляются пользователями в режиме реального времени. Вместо этого вы должны позволить браузеру каждого пользователя выполнять запросы, используя JavaScript. В противном случае, когда ваш сайт станет популярным, у него закончатся суточные. Прочитайте Стратегии геокодирования , чтобы узнать больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...