2016-12-16 40 views
0

使用Google地點API我試圖獲取place_id的地址。當地點位置的多個部分具有相同的名稱時,我嘗試獲取place_id時遇到問題。例如:烏得勒支市(位於荷蘭)位於烏得勒支省的烏得勒支市。他們都有相同的名字。如何在Google Maps API中找到地點標識,如果城市的地區,省份或城市名稱相同

當我fetch Utrecht from the places service它返回place_id城市(這是櫃面有多個選項,地圖默認)

我發現一個黑客/解決方案,以獲取行政區域:加入我要作的事情本地化名稱試圖獲取。例如,我可以用Gemeente(municipality)Provincie(province)

有沒有辦法專門請求我想從API獲取區域的類型? 我看到的地方API擁有所有這些信息,但是我的聲發射嘗試,而無需修改地址獲取place_idadministrative_area_level_2administrative_area_level_1都是徒勞的。 我的「修復」適用於荷蘭,但我還有12個歐洲國家有類似的問題,因此我的問題。

回答

2

最常見的解決方案是使用反向地理編碼與result type filter

例如,對於烏得勒支您的示例請求返回下列座標52.09073739999999,5.1214201

現在使用反向地理編碼與結果類型。

https://maps.googleapis.com/maps/api/geocode/json?latlng=52.09073739999999%2C5.1214201&result_type=administrative_area_level_1&key=YOUR_API_KEY

這將返回的地方ID ChIJPzM8M01oxkcRsFwejVreAAM爲管理區一級

https://maps.googleapis.com/maps/api/geocode/json?latlng=52.09073739999999%2C5.1214201&result_type=administrative_area_level_2&key=YOUR_API_KEY

這將返回的地方ID ChIJA9Xkz5BoxkcRzAM9YkCZGTs爲管理區2級

希望它能幫助!

相關問題