You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

印度地址组件类型变更未在Android Geocoder中体现的问题咨询

关于Android Geocoder适配印度地址层级变更的问题解答

能否通过Android Geocoder获取3级行政区?

  • Android系统提供的Geocoder返回的Address对象,其内置字段(admin、sub-admin、locality等)是固定的层级映射,并未直接对应谷歌最新地址组件中的3级行政区(比如你提到的德里的North West Delhi)。
  • 你可以尝试以下两种方式尝试获取:
    1. 遍历Address的所有getAddressLine(int index)结果:更细的行政区信息可能被包含在地址行字符串中(比如你的示例里的Rohini、Lodhi Colony),但需要自行解析,且不同地区格式不统一,稳定性较差。
    2. 遍历Geocoder.getFromLocation()返回的完整Address列表:不要只取第一个结果,后续的Address实例可能包含更详细的层级信息,但同样没有官方保证。

未来API是否会更新适配该变更?

  • Android的Geocoder属于系统SDK组件,更新节奏依赖于Android系统版本迭代,目前没有公开信息表明它会针对谷歌的地址组件变更专门更新字段映射。
  • 如果需要稳定、精准地获取指定层级的地址组件,建议直接调用谷歌地理编码API(通过HTTP请求),它会返回完整的地址组件类型(如administrative_area_level_3),可以直接提取目标层级信息。不过使用该API需要申请密钥,且存在调用配额与费用限制。

你提供的Android Geocoder返回示例:

Address[addressLines=[0:"delhi green park 16 delhi green park 16, Lodhi Colony, Sector 3, Rohini, Delhi, 110085, India"],feature=Lodhi Colony,admin=Delhi,sub-admin=Delhi Division,locality=Delhi,thoroughfare=null,postalCode=110085,countryCode=IN,countryName=India,hasLatitude=true,latitude=28.7040517,hasLongitude=true,longitude=77.1024532,phone=null,url=null,extras=null]

内容的提问来源于stack exchange,提问作者JacksOnF1re

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:03:25