2017-01-31 66 views
0

我正在開發一種產品,用於爲用戶輸入的地址執行地理編碼查找。該代碼假設結果應該包含一個administrative_area_level_1,這將轉化爲一個statestateCode(我知道該文檔指出並非所有國家都使用這種方式,但這是代碼在我之前的寫法。)我們發現芬蘭的地址在生產中存在問題,我開始在開發者網站上搜索文檔,發現一些有趣的內容。芬蘭的Google Maps API和行政區域

在此頁面:https://developers.google.com/maps/documentation/geocoding/intro

他們列出的示例查找在芬蘭: https://maps.googleapis.com/maps/api/geocode/json?components=route:Annegatan|administrative_area:Helsinki|country:Finland

對於查找,他們列出一個包含樣品迴應:

{ 
    "long_name" : "Helsingfors", 
    "short_name" : "Helsingfors", 
    "types" : [ "administrative_area_level_3", "political" ] 
} 

但是,如果實際上加載該網址,這就是它所說的地址部分:

{ 
    "long_name" : "Helsingfors", 
    "short_name" : "H:fors", 
    "types" : [ "locality", "political" ] 
}, 

有沒有什麼改變呢?

感謝

+2

地理編碼器只是經歷了一次重大改寫/更新。請參閱https://maps-apis.googleblog.com/2016/11/address-geocoding-in-google-maps-apis.html – geocodezip

回答

0

如果你的計劃是繪製除了地理編碼點的第三個行政級別,我想你已經保存在某個地方的邊界。

要處理long_name或short_name中的變體,您需要創建一個字典,例如將「H:fors」翻譯爲「Helsignfors」。這可能需要一些時間,但也是迭代的。您需要記錄Google的出現情況,描述您的數據庫中沒有的短名稱,然後相應地編輯您的字典。