我在使用componentRestrictions
時遇到了Google Maps JavaScript API的地理編碼器類及其返回結果的問題。Google地圖JS API地理編碼器類的結果不正確
簡而言之,我試圖讓用戶輸入一個地址並在特定的地點找到該地址。
我將一個字符串作爲地址傳遞給地理編碼對象文字。
然後,我使用componentRestrictions
中的locality
屬性將搜索限制爲僅「紐約」城市。
所以我的代碼如下所示:
geocoder.geocode(
{address: address,
componentRestrictions: {
locality: 'New York'
}
}, function(results, status) {
console.log(results);
}
);
當通過一個特定的地址,如'E 64th St & 5th Ave'
,它返回中央公園動物園的位置的正確的結果。
但是,如果我使用更隱晦的地址,如'East Village'
,則返回紐約市政廳所在位置的結果。
如果我刪除componentRestrictions
屬性,並傳遞與'East Village'
相同的地址,它將返回East Village的正確位置。
是什麼讓這個陌生人是我使用谷歌開發人員教導的course through Udacity中提供的代碼。他們的代碼可以在here on GitHub找到。
當我完全按照他們提供的代碼運行他們的代碼時,我遇到了與我自己的代碼相同的問題。
但在他們的課程視頻中,它正常工作。
看來有些API自創建本課程以來可能已經發生變化,所以有可能我錯誤地使用了componentRestrictions。
有沒有人遇到過這樣的問題,並找到了解決方案?
還是我錯誤地使用了代碼?
感謝您的幫助!
謝謝@ xomena,這絕對是問題。謝謝! –