1

我使用AutocompleteService.getPlacePredictions方法爲我的下拉菜單獲取自動完成項目。很多時候,該方法會返回「長」 placeIds看起來像這樣的(實際placeId):Google Maps API Geocoder不會按位置返回位置

ChIJx55rzdwQ9YgRHB-NARRWZyuaBjAxNzExIERvbm5hIEx5bm4gRHJpdmUsIFNteXJuYSwgR0EsIFVuaXRlZCBTdGF0ZXM

如果我當時試圖通過那個地方ID到地理編碼器,我得到ZERO_RESULTS的狀態,並沒有地方:

new google.maps.Geocoder().geocode(
    { placeId: "thatLongPlaceId"}, 
    function (results, status) { /* no place data returned */ }); 

但在同一時間,如果我提出以下GET調用相同placeId返回預期地址:

https://maps.googleapis.com/maps/api/place/details/json?key=MyApiKey&placeid=ChIJx55rzdwQ9YgRHB-NARRWZyuaBjAxNzExIERvbm5hIEx5bm4gRHJpdmUsIFNteXJuYSwgR0EsIFVuaXRlZCBTdGF0ZXM 

我在做什麼錯?使用長地點ID獲取地點數據的正確方法是什麼?

+0

爲什麼downvote? – Alex

回答

1

的ZERO_RESULTS問題是因爲長的地方IDS的不行。要查看此信息,請嘗試使用悉尼地址的自動填充結果中的(長)地點ID,例如

ChIJr -__ yjeuEmsR3RMEBNOoUn-aBjQ0OCBQaXJyYW1hIFJvYWQsIFB5cm1vbnQsIE5ldyBTb3V0aCBXYWxlcywgQXVzdHJhbGlh

到Geocoder.geocode調用應該返回1個結果。

長話短說,地理編碼API(即google.maps.Geocoder使用)尚未針對https://code.google.com/p/gmaps-api-issues/issues/detail?id=11107中的問題進行修復。

相關問題