2013-08-22 2 views
1

У меня есть список городов Северной Америки, которые непоследовательны в паре с провинциями и странами. Пример:Использование Google api для получения предложений по стране/стране для города

  • Калгари AB Канада
  • CALGARY Alberta - CA
  • Калгари Канада

Я хотел бы форматировать каждый город, так что следует последовательной схеме. Так что это включает городское государство/провинцию и страну. Как:

  • Калгари Альберта Канада

Я попытался с помощью Google, Places API, чтобы получить предложения для возможного форматированием, но все, что я смог достичь своего рода проверки, что указывает на то, если такая город существует. Мне было интересно, может ли кто-то, кто много работал с Google API, может помочь мне в том, как я могу получить предложения City/Province-State/Country (возможно, в формате JSON) с входа в город.

var input = "City Name"; 
var service = new google.maps.places.AutocompleteService(); 
service.getQueryPredictions({ input: input }, callback}); 

Я пытался смотреть в geocoding, но это, кажется, вернуть лат/записывать информацию.

ответ

3

Геокодирование API - это то, что вы хотите.

Попробуйте

http://maps.googleapis.com/maps/api/geocode/json?address=Calgary,%20Alberta&sensor=false 

он будет возвращать полностью отформатированные данные адреса несколькими способами (разбивка по административному уровню, форматированный в качестве адреса и т.д.)

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "Calgary", 
       "short_name" : "Calgary", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Division No. 6", 
       "short_name" : "Division No. 6", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "Alberta", 
       "short_name" : "AB", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Kanada", 
       "short_name" : "CA", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "Calgary, Alberta, Kanada", 

formatted_address компонент на немецком языке («Канада»), потому что язык моего браузера - немецкий. Вы можете определить, на каком языке должен работать вывод, используя параметр hl.

Обратите внимание, что технически в соответствии с их T & C использование API геокодирования разрешено только для подготовки данных для отображения на карте Google.

+0

Спасибо! кто это сделал. Это как-то неловко, как близко я добрался до него сам ... –

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