Google Maps API-интерфейс взаимодействия с базой данных - PullRequest
2 голосов
/ 07 февраля 2009

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

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

С точки зрения общей картины, это лучший способ сделать что-то?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 07 февраля 2009

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

  1. Зарегистрируйтесь для получения ключа API Карт Google.

  2. Напишите что-нибудь, что позволит пользователю ввести адрес и сохранить его в базе данных.

  3. Тот же скрипт должен преобразовать адрес в координату, используя геокодирование. Результат также должен (должен) сохраняться в базе данных, поскольку Google будет принимать только 15 000 запросов геокодирования на ip в день. Поскольку вы будете сохранять результаты, это будет проблемой только в том случае, если вы собираетесь добавить более 15 тыс. Элементов на карту за один день.

  4. Напишите скрипт, который генерирует карту. Там могут быть какие-то крутые вызовы API Google, если нет, то вам придется сделать некоторую работу самостоятельно. Кэшируйте карту с отметкой времени, чтобы сэкономить время и процессор.

  5. Создайте интерфейс, который будет отображать карту, интегрировать с шагом 2a и вызвать шаг 3.

1 голос
/ 11 февраля 2009

@ Фил ответит хорошо. Вот несколько моих дополнений:

Геокодирование Google не обязательно должно выполняться на стороне сервера. Ограничение в 15 КБ учитывается для клиента ip, а не ip сервера. Если бы он сделал , один злонамеренный клиент мог бы использовать ограничение хост-сайта и эффективно использовать DOS-функции геокодирования сайта.

http://code.google.com/support/bin/answer.py?answer=93464&topic=12266

Одна из причин выполнить геокодирование на стороне сервера перед сохранением результата в БД - это может упростить проверку ввода пользователя, чтобы убедиться, что введенный адрес фактически геокодируем. В этом случае вы подвергаетесь ограничениям хоста 15k запросов. Если вы поместите проверочный код на клиента, вы распространите запрос среди всех клиентов.

Есть несколько изящных вызовов API Google. Быстрый просмотр документов покажет простой процесс:

  • Получить адрес из БД
  • Геокодировать его в GPoint
  • Центрирование карты на GPoint
  • И, возможно, уронить маркер на GPoint

Эти типы вещей довольно подробно описаны в документации.

http://code.google.com/apis/maps/documentation/examples/

Также, чтобы прямо ответить на ваш вопрос. Да, похоже, ты на правильном пути.

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