2015-07-01 30 views
2

我用這個URL,以獲取與Get請求地址:https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Nov&key=MyKet&types=address谷歌Places API的應該回報只能解決

但有時我得到的只有街道沒有房子,有的時候我甚至城市(如輸入=明斯克俄羅斯:https://maps.googleapis.com/maps/api/place/autocomplete/json?input=%D0%9C%D0%98%D0%9D%D0%A1%D0%9A&key=MyKey&types=address

但是我想得到只有街道的房屋,因爲我正在寫出租車應用程序,我只需要那裏有完整的地址,如果用戶只選擇街道,這是不夠的。

所以如果我從谷歌Proletarsk street 25, Bern, Switzerland得到 - 沒關係,但如果我從谷歌Proletarsk street, Bern, Switzerland得到 - 它不好。

;當我從谷歌得到迴應的街道,並解決它總是返還相同種類

types =  (
     route, 
     geocode 
    ); 

所以我甚至無法區別,如果返回值是一個街道或如果它是一個完整的地址。

你能給我什麼建議嗎?

+0

我想你使用錯誤的API密鑰。 –

+0

不,我使用我的API密鑰,但我不能在這裏寫,因爲它不公開。如果我使用錯誤的API密鑰,我不會得到任何結果。但是我確實得到了結果,我只是想確保我得到房子的街道(不僅是街道) –

+0

您在此期間是否找到了針對您問題的解決方案? – mikrobi

回答

0

根據您描述的用例,這聽起來像您使用了錯誤的API。

如果您有地址,並且希望Google地圖可以爲您解析並返回額外信息,則應該使用the Geocoding API。您可以確定結果是否有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條谷歌搜索結果,我無法檢查其他請求中的所有這5個結果 –

相關問題