2017-08-01 57 views
-1

不同類型給出下面的API調用來自動完成:谷歌Places API的 - 在自動完成VS詳細

https://maps.googleapis.com/maps/api/place/autocomplete/json?types=address&input=23%20norton%20st

我得到如下回應:

{ 
    "predictions": [ 
     { 
      "description": "23 Norton Street, Leichhardt, New South Wales, Australia", 
      "id": "9711c656faa60f77a05680b603523a4bc75c45be", 
      "place_id": "EjgyMyBOb3J0b24gU3RyZWV0LCBMZWljaGhhcmR0LCBOZXcgU291dGggV2FsZXMsIEF1c3RyYWxpYQ", 
      "types": [ 
       "route", 
       "geocode" 
      ] 
     }, 
     ... 
    ], 
    "status": "OK" 
} 

通知的類型是路由和地理編碼。

如果我查詢詳細API:

https://maps.googleapis.com/maps/api/place/details/json?placeid=EjgyMyBOb3J0b24gU3RyZWV0LCBMZWljaGhhcmR0LCBOZXcgU291dGggV2FsZXMsIEF1c3RyYWxpYQ

我得到如下:

{ 
    "html_attributions": [], 
    "result": { 
     "id": "e698fdcd9dceed8fe42a926a19cb2b17d4f5f088", 
     "name": "23 Norton St", 
     "place_id": "ChIJpdXOTxewEmsRMmpMxLBgFpI", 
     "reference": "CmRbAAAAKmYoyR1BrFqFQJi6CAD8cjhD4SDnZXMIC0mOLOpX_jPgIgFv0TJ3rv8p5L9xKrplHzUFxBNc8sd7PdkXdnCsTo_7-3X7mocd8yHnXCIKYAxj0MO4icLoFJjD3DEszqK3EhD8XIu6zNH-h3hqotfKjmd-GhRwyNIfJCo4bmOOLYgubm7j8ln_tw", 
     "scope": "GOOGLE", 
     "types": [ 
      "street_address" 
     ], 
     "url": "https://maps.google.com/?q=23+Norton+St,+Leichhardt+NSW+2040,+Australia&ftid=0x6b12b0174fced5a5:0x921660b0c44c6a32", 
     "utc_offset": 600, 
     "vicinity": "Leichhardt" 
    }, 
    "status": "OK" 
} 

的類型和地點ID是從第一反應不同。我希望他們是一樣的,他們爲什麼不同?

+0

僅僅因爲你在這個問題上付出了恩惠,它並不是一個好問題。我把你的問題標記爲「不清楚」。你能否詳細說明你遇到的實際問題?你正在調用一個API,並且類型與你用一個例子展示的不同,所以這會自動回答你自己的問題'類型與地點id完全不同!「是的。 – GabrielOshiro

+0

如果您閱讀了這些文件:_ \t 我需要僅通過街道地址過濾自動填充,但它會對這樣的地址進行折扣,即使它是實際的街道地址_ – morrislaptop

+0

這是您的問題,您可以隨心所欲地執行任何操作它。我只是說,如果你真的需要社區的幫助,你可能需要澄清一點。我只是讀了一遍,我仍然沒有看到你的問題是什麼... – GabrielOshiro

回答

2

如果您搜索「23 Norton Street」而不是「23 Norton St」,您實際上會得到您期望的結果(匹配place_id,類型等)。我認爲發生的事情是,當你搜索23 Norton St時,它實際上並沒有匹配(如St而不是Street),因此它執行地理編碼查找,這就是你看到的結果。

是否有任何原因導致結果對您造成問題?還是僅僅是一種古怪/好奇?

+0

我需要僅通過街道地址過濾自動完成,但它是這樣的一些地址打折,即使它是一個實際的街道地址 – morrislaptop

+1

是否有任何模式?它沒有找到其他縮寫嗎?例如。路/大道 –

0

不確定您的實際問題是什麼,但Google商家可能在一個位置實際上擁有多個ID。參考:https://developers.google.com/places/place-id

此外,它似乎你可能有你的自動完成設置,只提供給你關於geocoderoute返回類型,因爲這也是一個選項的結果。沒有你的實際代碼是未知的。

我敢肯定,你已經到了這裏的文件:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

但也許你錯過了在那裏的例子東西。希望這能回答你的問題'!