Как мне найти точку на карте Google, которая ближе всего ко мне? - PullRequest
0 голосов
/ 04 мая 2011

Я пишу Android-приложение, которое должно загружать кучу адресов с моего SQL-сервера, реверсировать их геокодировать, сравнивать их все с моим текущим местоположением и возвращать то, которое ближе всего мне, не геометрически, а тот, от которого я наименьшее расстояние вождения.

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

Я понимаю, что мог бы сделать это быстрым и грязным способом и просто посмотреть, какой адрес ближе всего ко мне, сравнивая широту и долготу моей текущей позиции и адреса моих адресов, а не сравнивая ее с фактическим расстоянием вождения. Проблема заключается в том, что это приложение будет использоваться в регионе, где достаточно много озер, по которым можно ездить, и использование этого метода, скорее всего, даст немало глупых результатов.

Как я могу предотвратить это снова и снова? Могу ли я представить Google с просмотром всех моих адресов и просто сделать сравнение один раз? Мне действительно нужна помощь с этим.

1 Ответ

1 голос
/ 04 мая 2011

На самом деле, вам придется запросить службу маршрутизации (не обязательно Google Maps, насколько мне известно * Cloudmade предоставляет вам маршрутизацию; определенно есть и другие), чтобы получить маршруты проезда к каждому из пунктовИнтерес вокруг вас, а затем выберите ближайший.Это очень плохая практика, поскольку вы очень ограничены суммой запроса.

В соответствии с API Карт Google TOS (пункт 10.1.3) вам не всегда разрешено делать это.

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

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