无法从 maps.googleapis.com 获取西西里岛(作为区域)

Cannot get Sicily (as region) from maps.googleapis.com

如何使用 google API 从结果中排除 establishment/natural_feature?

例如,我无法将西西里岛作为地区。

这是URLhttp://maps.googleapis.com/maps/api/geocode/json?address=Sicily,+Italy&components=administrative_area

无论我尝试在 'address' 参数上添加什么,我总是将西西里岛作为 establishment/natural_feature,而不是区域。

西西里岛作为 place_id 'ChIJs1lT0GhiEBMRUH22ZykECwE' 的区域存在,但我无法通过搜索找到它。

西西里岛地区:https://maps.googleapis.com/maps/api/place/details/json?key=API_KEY&placeid=ChIJs1lT0GhiEBMRUH22ZykECwE

如果您的应用程序需要与用户交互,自动完成功能应该会有所帮助。这是 best practices 文档中推荐的方法。

否则恐怕您无法在正向地理编码器中指定结果类型。它将 return 被认为是最突出的特征。显然,在此示例中,自然特征(岛屿)被认为比区域更突出。我能想到的唯一解决方法是对第一个请求的坐标应用反向地理编码,并将结果类型设置为行政区域级别 1。

https://maps.googleapis.com/maps/api/geocode/json?latlng=37.3979297%2C14.6587821&result_type=administrative_area_level_1&key=YOUR_API_KEY