Google Map API - получить информацию об одной координате - PullRequest
4 голосов
/ 12 ноября 2010

Я использую JavaScript API googlemap. Я хочу, чтобы пользователь определил название города. Затем я сохраняю имя + координату в базе данных.

Это легко сделать, но проблемы:

  • если пользователь допустил ошибку (например, Паарис вместо Парижа), Google понимает, но я не знаю окончательное (правильное) имя, поэтому я создаю (или воссоздаю) неверную запись в БД. 1006 *
  • Если пользователь вводит название страны, оно работает, но мне нужны только города.

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

Спасибо!

Ответы [ 3 ]

3 голосов
/ 12 ноября 2010

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

3 голосов
/ 12 ноября 2010

Вам не нужно обратное геокодирование.

Используйте геокодер Google, чтобы получить широту / долготу города. Google вернет название города, найденного в ответе:

Вот запрос геокодирования с неверно написанным Парижем: http://maps.googleapis.com/maps/api/geocode/json?address=Paaris&sensor=false

Google дает вам правильное место в ответе ...

{
  "status": "OK",
  "results": [ {
    "types": [ "locality", "political" ],
    "formatted_address": "Paris, France",
    "address_components": [ {
      "long_name": "Paris",
      "short_name": "Paris",
      "types": [ "locality", "political" ]
    }, {
      "long_name": "Paris",
      "short_name": "75",
      "types": [ "administrative_area_level_2", "political" ]
    }, {

SO ...

  1. Типы пользователей в городе
  2. Вы геокодируете его с помощью службы геокодирования Google
  3. Если геокодирование выполнено успешно, получите фактический город из ответа геокода и добавьте его в базу данных с координатами
  4. При неудачном геокодировании предупредить пользователя.

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

3 голосов
/ 12 ноября 2010

Может быть, это может вам помочь:

http://code.google.com/apis/maps/documentation/geocoding/#ReverseGeocoding

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