2011-06-01 60 views
2

使用Google地理編碼api v3時,我有一些完整且有效的地址,其中包含美國州名作爲房屋名稱或街道名稱的一部分。谷歌認爲這是在美國,即使包括國家在內的完整地址。地理編碼恢復爲美國

例如(這是一個虛構的地址,因爲我不能發佈真實的客戶細節,但原理是相同的)。 紐約農場 大街 聖海利爾 JE1 1AA JERSEY

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=New%20York%20Farm%2cMain%20Street%2cSt%20Hellier+%2c%2cJE1+1AA%2cJERSEY

如果我要麼錯過了「紐約農場」行,或者「UK」添加到末尾,然後正確的地理編碼回。但顯然這很難自動完成(尤其是澤西島不在英國),而且我有很多地址可能與其他類似的情況。 如果我傳入一個region參數,它仍然有同樣的問題。

有沒有一種方法可以'強制'國家?

回答

1

您可以使用「region biasing」或「viewport biasing」 - 兩者都應該爲您提供與指定區域更相關的結果。你可能想要區域偏置 - 他們甚至給出這個例子:

你可以設置地理編碼API返回結果偏向特定區域使用region參數。此參數採用指定區域偏差的ccTLD(國家代碼頂級域)參數。大多數ccTLD代碼與ISO 3166-1代碼相同,但有一些明顯的例外。例如,英國的ccTLD是「英國」(.co.uk),而其ISO 3166-1代碼是「gb」(專門用於「大不列顛及北愛爾蘭聯合王國」實體)。

確實,將&region=uk加入您的查詢使其成爲return the appropriate place

+0

謝謝。但澤西島(海峽羣島)不在英國,所以當我自動化並根據用戶選擇的國家下拉列表添加ISO 3166代碼時,我添加了'&region = JE' - 這仍然給了我一個美國的位置。 http://maps.googleapis.com/maps/api/geocode/xml?sensor=false®ion=JE&address=New%20York%20Farm,Main%20Street,St%20Hellier%20,,JE1%201AA,JERSEY®ion=JE – simon831 2011-06-01 12:35:49

相關問題