2013-08-29 55 views
3

我們打算在我們的網站上使用谷歌地圖地理編碼API。我們要使用Google Places Autocomplete API並將地址轉換爲(X,Y)座標與Geocoder API區分小村莊和街道之間的API響應,無號碼

但是,在法國,一些郵政地址的格式爲小村莊或一個小村莊和城市(以及那些是正確的地址),而不是古典的「號碼,街道和城市」。爲這種地址

地址解析響應爲:

  • partial_match = empty
  • 位置類型= GEOMETRIC_CENTERRANGE_INTERPOLATED
  • 類型= route

但是,這是相同的響應作爲沒有街道號的街道名稱。

有沒有什麼辦法可以在區分「hamlets」和「沒有數字的街道」之間的API響應
感謝您的任何見解。


[編輯]這裏是我的問題的例子:

兩個返回th Ë同location_type

  • "location_type" : "GEOMETRIC_CENTER"
+0

你有一個例子地址發生這種情況? – putvande

+0

@putvande:謝謝你的關注。我用一個例子更新了我的問題 - 讓我知道你是否需要任何其他信息 – JMax

回答

1

簡短的回答 - 您的哈姆雷特例子實際上是解決街道:Map Link

爲了回答您的一般問題(猜你有這個情況發生在其他地方的地方是不街道)這是如何告訴Geocoding API如何確定部分匹配。如果你得到一條路線,這意味着你已經返回了一條街道(有或沒有數字)。一個小村莊應顯示爲sublocalityneighborhood如果不是它自己的地方(在加拿大,這是我所看到的):

  1. neighborhood
  2. sublocality

*不過,請注意這些是不是加拿大的有效郵寄地址,這使得我的示例與您指定的標準略有不同。

要知道路由是否完全匹配或猜測是在狀態代碼進來:

API Doc's

"ROOFTOP" indicates that the returned result is a precise geocode for which we have location information accurate down to street address precision. 
"RANGE_INTERPOLATED" indicates that the returned result reflects an approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address. 
"GEOMETRIC_CENTER" indicates that the returned result is the geometric center of a result such as a polyline (for example, a street) or polygon (region). 
"APPROXIMATE" indicates that the returned result is approximate. 

我希望,你會看到GEOMETRIC_CENTER更經常用於neighborhoodsublocalityRANGE_INTERPOLATED更常見的道路 - 但這是一種猜測,我認爲它更多取決於它們在地點上的數據量和算法最終如何計算​​點。

當你確實有一個哈姆雷特返回作爲route我不相信只有從Geocoding API返回的數據,這是發生了什麼。我能想到的唯一解決方案就是根據已知問題列表,在應用程序中處理代碼中的這些情況 - 但我可以看到這是非常棘手的問題和勞動密集型問題。

這或許可以說明哈姆雷特概念是郵政/行政管理的概念,它根本不會轉化爲映射數據?我試圖在這裏找到La Croix並且沒有區分運氣:http://www.laposte.com/find_a_post_code/find

還有一點需要注意:如果Geocoding API已經解決了哈姆雷特以及街道問題,那麼您應該有多個結果可供選擇。 Yarmouth注意最後的類型名單告訴你結果的類型返回,以及如果你有多個結果:"types" : [ "locality", "political" ]

更新

我需要一些更多的例子,我決定去尋找那些這將也有利於你的問題。我發現這個名單French Hamlets。嘗試一些我得到這些結果:

  1. Blessey:sublocality
  2. 佈雷蒂尼:sublocality
  3. Hautacam(歐塔坎姆):要麼無法被完全發現,或者是一個公園,並顯示爲locality
  4. 香格里拉Mongie:sublocality
  5. 火腿/神職人員:locality所以看起來可能會有一些地方出現 - 可能是一個大小的門檻 - 許多sublocalities是非常小的。

我想你可以安全地假設,如果有什麼評價爲路由的結果是一條街,而不是一個Hameaux的< - (並認爲我在加拿大法語沉浸表現不佳)。同樣,如果你在結果中得到一條路線和一個次地區,那麼哪一個是哪個是安全的。

最後如果你知道你的地址部分是一個sublocality和不是街道,並希望在地址中指定,我不相信谷歌的API允許這樣做。還有其他services that do, like ESRI。我沒有使用過它們,也不知道許可證的具體操作方式,但它似乎同時擁有與谷歌類似的免費和訂閱服務。

而只是爲了完整性 - 我想我找到La Croix從該列表中的條目"address": "La Croix, L'Île-d'Yeu"使用ESRI網站 - 缺點是,它不承認費德佈雷塔尼並給出一個答案。

+0

感謝您的回答。我會用一個測試樣本來看看。 – JMax

+0

沒有問題 - 當我發現你的問題時,我正在尋找類似的東西,最終解決了我的問題。如果你確實有一些哈姆雷特被確定爲路線的例子,那麼當他們沒有被評估爲道路時,它確實會幫助我。 – Matthew

+0

我們在法國找不到任何'鄰居'的結果......但是,感謝您的回答,併爲您的項目提供了幫助,祝您好運 – JMax

相關問題