2015-07-01 4 views
2

Я использую этот адрес, чтобы получить адреса с Получить запрос: https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Nov&key=MyKet&types=addressAPI Google Адреса должен возвращать только адрес

Но иногда я получаю только улицу без домов, иногда я даже городов (если вход = Минск на русском: https://maps.googleapis.com/maps/api/place/autocomplete/json?input=%D0%9C%D0%98%D0%9D%D0%A1%D0%9A&key=MyKey&types=address)

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

Так что если я получу от Google Proletarsk street 25, Bern, Switzerland - все в порядке, но если я получу от Google Proletarsk street, Bern, Switzerland - это не нормально.

И когда я получаю товару от Google для улиц и адреса всегда возвращают тот же тип

types =  (
     route, 
     geocode 
    ); 

Так что я даже не могу отличаться, если возвращаемое значение является улица или, если это полный адрес.

Можете ли вы дать мне совет?

+0

Я думаю, вы используете неправильный ключ API. –

+0

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

+0

Вы нашли решение своей проблемы тем временем? – mikrobi

ответ

0

Основываясь на используемом примере использования, это звучит так, будто вы использовали неправильный API.

Вы должны использовать the Geocoding API, если у вас есть адрес и вам понравится Google Maps, проанализировать его для вас и вернуть дополнительную информацию. Вы можете определить, имеет ли результат street_number, чтобы вы могли узнать, содержит ли результат полный адрес. Например:
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA
даст вам результат:

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1600", 
       "short_name" : "1600", 
       "types" : [ "street_number" ] 
      }, 
      { 
       "long_name" : "Amphitheatre Parkway", 
       "short_name" : "Amphitheatre Pkwy", 
       "types" : [ "route" ] 
      }, 
      { 
       "long_name" : "Mountain View", 
       "short_name" : "Mountain View", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Santa Clara County", 
       "short_name" : "Santa Clara County", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "California", 
       "short_name" : "CA", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "United States", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      }, 
      { 
       "long_name" : "94043", 
       "short_name" : "94043", 
       "types" : [ "postal_code" ] 
      } 
     ], 
     "formatted_address" : "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA", 
     "geometry" : { 
      "location" : { 
       "lat" : 37.4223455, 
       "lng" : -122.0841893 
      }, 
      "location_type" : "ROOFTOP", 
      "viewp..... 

которые дают вам street_number и поэтому вы можете сказать, что это полный адрес.

+0

нет, потому что, если я получаю 5 результатов от google с улицами и адресами, я не могу проверить все эти 5 результатов с другими запросами –

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