android - 如何以组织良好的格式获取地址

标签 android google-geocoder street-address

首先,我熟悉 Geocoder 和 Places API。出于这个原因,我不问如何通过使用这些来获得原始格式的整个地址。我正在寻找某个地方的正式地址。由于可以使用 Geocoder API 获取的地点没有组织,因此我无法通过调用同一个地点单元到达两个不同 LatLng 值的省份。例如,我可以通过调用 .adminArea() 获取与我当前位置相对应的城市,但我 friend 的位置可能会作为他的引擎盖从 .adminArea() 返回。因此,尽管此对象的地址包含城市名称,但我无法从 Geocoder 对象中获取城市字符串。

如果我调用相关方法,是否有另一个 API 可以为我提供正确的街道/地区/城市?或者有没有办法解析 Geocoder 对象的地址,以便我可以获得最干净的地址组件?

最佳答案

你可以试试Bing Maps API .它本身不是 Android API,但您可以向 RESTful API 发出请求并获得非常标准化的结果。

这是一个示例结果JSON(下面只显示了它的主要部分):

"address":{
    "addressLine":"1 Microsoft Way",
    "adminDistrict":"WA",
    "adminDistrict2":"King Co.",
    "countryRegion":"United States",
    "formattedAddress":"1 Microsoft Way, Redmond, WA 98052",
    "locality":"Redmond",
    "postalCode":"98052"
}

Locality 始终是 City,而 AdminDistrict 始终是 State。

PS:我在我的一个项目中使用它,他们的配额非常公平。

关于android - 如何以组织良好的格式获取地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32261727/

相关文章:

java - 取消异步任务的最佳方法

google-maps - 特定邮政编码、县或地区内的随机真实美国地址

iphone - 如何从 ABAddressBookRef 中提取国家/地区字段?

android - 插入数据库约束失败

android - 如何让android项目兼容Tizen平台?

Android ndk-build 忽略 APP_ABI := x86

street-address - 地址大小写

android - 无法使用 Geocoder 获取城市名称

google-maps - Google 地理编码器如何工作?

android - 如何在 android 中使用地理编码器从纬度经度值获取位置地址?