如果城市与地区,省或市的名称相同,如何在Google Maps API中查找地点ID

时间:2016-12-16 10:20:59

标签: google-maps google-maps-api-3

使用Google Places API我正在尝试获取place_id。当地点位置的多个部分具有相同名称时尝试获取place_id时出现问题。例如:乌得勒支市(荷兰)位于乌特勒支市,位于乌得勒支省。它们都有相同的名称。

当我fetch Utrecht from the places service时,它会返回城市的place_id(这是地图的默认值,有多个选项)

我找到了一个黑客/解决方案来获取管理区域:添加我试图获取的东西的本地化名称。例如,我可以使用Gemeente(municipality)Provincie(province)

有没有办法专门请求我想从API中获取的区域类型? 我看到places API包含所有这些信息,但是我试图在不修改地址的情况下为place_idadministrative_area_level_2获取administrative_area_level_1是徒劳的。 我的#34;修复"在荷兰工作,但我有12个欧洲国家有类似的问题,因此我的问题。

1 个答案:

答案 0 :(得分:2)

最常见的解决方案是使用result type filter的反向地理编码。

例如,您对Utrecht的样本请求返回以下坐标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

这将返回管理区域级别1的地点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

这将返回管理区域级别2的地址ID ChIJA9Xkz5BoxkcRzAM9YkCZGTs

希望它有所帮助!

相关问题