4

我正在使用 Google Places 自动完成 API。如果我搜索一个特定的郊区,比如说澳大利亚维多利亚的里士满,我会返回以下地址组件:

0:Object
    long_name: "Richmond"
    short_name: "Richmond"
    types: Array[2]
        0: "locality"
        1: "political"

1: Object
    long_name: "Victoria"
    short_name: "VIC"
    types: Array[2]
        0: "administrative_area_level_1"
        1: "political"

2: Object
    long_name: "Australia"
    short_name: "AU"
    types: Array[2]
        0: "country"
        1: "political"

这很好,但是里士满是墨尔本的郊区,为了我的应用程序的目的,我需要知道这一点。如果地区在一个范围内,我怎样才能让 API 返回父城市?如果您查看以下 URL,您可以看到它将里士满放置在澳大利亚维多利亚州的墨尔本,所以我假设有可能以某种方式通过 API 获取此信息?

https://maps.google.com/maps/place?q=Richmond&ftid=0x6ad64259018db945:0x5045675218ce810

4

2 回答 2

1

唉,地理编码 API 返回中不包含城市和/或地区信息。

作为基于位置的搜索的粗略解决方案,我对城市和地区进行公里半径:

Worldwide   No filter
Country     Available from geocode
State       Available from geocode
Region      50 KM Radius from latlong
City        20 KM Radius from latlong 
Postcode    Available from geocode
Suburb      Available from geocode (Locality)
Radius      User defined radius from latlong 

我确实尝试使用“边界”值,但没有真正成功(https://developers.google.com/maps/documentation/geocoding/)。

如果您需要比这更准确,那么您正在制作一个相当大的参考数据库。

于 2014-03-12T20:15:28.873 回答
0

使用返回的 Latlng 反向地理编码:https ://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding

于 2012-12-09T16:50:28.390 回答