Как я Геокодирую 20 адресов, не получая ответ OVER_QUERY_LIMIT?

Используя Google Geocoder v3, если я пытаюсь геокодировать 20 адресов, я получаю OVER_QUERY_LIMIT, если я время их, чтобы быть ~1 секундой независимо, но затем он не берет за 20 секунд до того, как мои маркеры все помещаются.

Там какой-либо другой путь состоит в том, чтобы сделать это кроме хранения координат заранее?

88
задан Michiel van Oosterhout 4 August 2012 в 11:58
поделиться

2 ответа

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

  • получить широту + долготу с помощью геокодера, когда местоположение created
  • сохранит их в своей базе данных вместе с адресом
  • и будет использовать эти сохраненные координаты широта + долгота, когда вы хотите отобразить карту.

Это, конечно, с учетом того, что у вас гораздо меньше возможностей для создания / изменения локаций, чем у вас есть консультации по локациям.


Да, это означает, что вам придется немного поработать при сохранении местоположений, но это также означает:

  • Вы сможете выполнять поиск по географическим координатам {{1} }
    • т.е. « Мне нужен список точек, которые находятся рядом с тем местом, где я сейчас »
  • Отображение карты будет намного быстрее
    • Даже с более чем 20 локаций на нем
  • О, и еще (последнее, но не менее важное) : это сработает; -)
    • Вы с меньшей вероятностью попадете в лимит X вызовов геокодера за N секунд.
    • И вы с меньшей вероятностью достигнете лимита вызовов геокодера Y в день.
84
ответ дан 24 November 2019 в 07:36
поделиться

К сожалению, это ограничение службы карт Google.

В настоящее время я работаю над приложением, использующим функцию геокодирования, и сохраняю каждый уникальный адрес для каждого пользователя.Я генерирую адресную информацию (город, улица, штат и т. Д.) На основе информации, возвращаемой картами Google, а затем сохраняю информацию о широте и долготе в базе данных. Это избавляет вас от необходимости перекодировать вещи и дает хорошо отформатированные адреса.

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

6
ответ дан 24 November 2019 в 07:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: