2011-11-03 2 views
2

В настоящее время у меня есть карта Google, которая геокодирует несколько маркеров «на лету», но обнаружила, что она быстро ударила по пределу геокода.Альтернативные способы избежать ограничения геокода с помощью Google Maps

В качестве начальной работы я установил временную задержку между каждым запросом на геокодирование. Это оказалось неадекватным, так как вам нужно подождать Х количество секунд/минут для его геокодирования каждого маркера, то есть маркеры не будут отображаться мгновенно.

Затем я попробовал таблицы Google Fusion, которые сразу же отобразили все маркеры, но оказались трудными при работе с данными в реальном времени. Кажется, нет возможности работать с моей базой данных Wordpress, поэтому он захватывает данные в реальном времени. (или, по крайней мере, я не могу найти примеров, которые он делает).

Каковы другие альтернативы, чтобы избежать ограничения на геокод? Может кто-то указать мне верное направление.

Мои требования:

  1. Маркеры должны быть нанесены мгновенно (или, по крайней мере, с минимальным временем ожидания).
  2. Нужно работать с данными Wordpress.
  3. Данные должны быть в режиме реального времени, то есть когда что-то отредактировано/обновлено в Wordpress, необходимо внести изменения в данные карты.
  4. Данные Wordpress должны быть обфускации или, по крайней мере, трудно получить.
+1

Вы считали, что кеширование результатов геокодирования в локальной таблице базы данных? Это то, что люди обычно делают. –

+0

@Pekka Как бы я это сделал? – Rob

+0

Ну, вы обычно сохраните результаты геокодирования в базе данных mySQL - одно поле для рассматриваемого адреса, два поля для lat/lon ... Затем перед обращением в Google вы проверите, есть ли у вас адрес на сначала локализовать файл. Довольно многое, что @Mitch предлагает ниже –

ответ

1

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

Вам нужно будет настроить PHP-скрипт в качестве прокси-сервера, найти адрес в таблице кеша в своей базе данных и, если он существует, вернуть значение из БД. Если он не существует, выполните вызов API, сохраните результаты в своей базе данных и верните геокодированную информацию.

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

+0

Я геокодирование 127 адресов компании на данный момент. Адрес вряд ли сильно изменится, но они будут введены несколькими пользователями, поэтому я не хочу, чтобы они вводили координаты lat/long. В настоящий момент 127, но к этому добавится еще несколько компаний. – Rob

+0

Хорошо, я посмотрел вокруг, и это кажется хорошим направлением. У вас есть примеры кода, которыми я мог бы следовать? – Rob

+0

Google фактически предоставляет пример кода, который вы можете использовать: http://code.google.com/apis/maps/articles/phpsqlgeocode.html. Это не совсем так, как я бы это сделал, но он должен дать вам хорошую отправную точку. –

Смежные вопросы