Android中文API(136) —— GeoCoder
前言
本章内容是android.location.GeoCoder,为GPS相关章节,版本为Android 4.0 r1,翻译来自"熊猫82",欢迎访问他的博客:"http://wisekingokok.cnblogs.com",再次感谢"熊猫82"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。
Geocoder
译者署名:熊猫82
译者链接:http://wisekingokok.cnblogs.com
版本:Android 4.0 r1
结构
继承关系
public final class Geocoder extends Object
java.lang.Object
android.location.Geocoder
类概述
一个处理前向地理编码和反向地理编码的类。地理编码是一个街道、地址或者其他位置(经度、纬度)转化为坐标的过程。反向地理编码是将坐标转换为地址(经度、纬度)的过程。一组反向地理编码结果间可能会有所差异。例如:一个结果可能包含最临近建筑的完整街道地址,而另一个可能只包含城市名称和邮政编码。Geocoder要求的后端服务并没有包含在基本的Android框架中。如果没有此后端服务,执行Geocoder的查询方法将返回一个空列表。使用isPresent()方法,以确定Geocoder是否能够正常执行。
公共构造器
public Geocoder(Context context, Local local)
根据给定的语言环境构造一个Geocoder对象。
参数
context 当前的上下文对象。
local the 当前语言环境
public Geocoder(Context context)
根据给定的系统默认语言环境构造一个Geocoder对象。
参数
context 当前的上下文对象。
公共方法
public List<Address> getFromLocation(double latitude, double longitude, int maxResults)
根据给定的经纬度返回一个描述此区域的地址数组。返回的地址将根据构造器提供的语言环境进行本地化。
返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。
参数
latitude 纬度
longitude 经度
maxResults 要返回的最大结果数,推荐1~5
返回值
一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。
异常
IllegalArgumentException 纬度小于-90或者大于90
IllegalArgumentException 果经度小于-180或者大于180
IOException 如果没有网络或者IO错误
public List<Address> getFromLocationName(String locationName, int maxResults, double lowerLeftLatitude, double lowerLeftLongitude, double upperRightLatitude, double upperRightLongitude)
返回一个由给定的位置名称参数所描述的地址数组。名称参数可以是一个位置名称,如:“Dalvik, Iceland”,一个地址,如:“1600 Amphitheatre Parkway, Mountain View, CA”,一个机场代号,如:“SFO”,等等……返回的地址将根据构造器提供的语言环境进行本地化。
你也可以指定一个搜索边界框,该边界框由左下方坐标经纬度和右上方坐标经纬度确定。
返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。通过UI主线程的后台线程来调用这个方法可能更加有用。
参数
locationName 用户提供的位置描述
maxResults 要返回的最大结果数,推荐1~5
lowerLeftLatitude 左下角纬度,用来设定矩形范围
lowerLeftLongitude 左下角经度,用来设定矩形范围
upperRightLatitude 右上角纬度,用来设定矩形范围
upperRightLongitude 右上角经度,用来设定矩形范围
返回值
一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。
异常
IllegalArgumentException 如果位置描述为空
IllegalArgumentException 如果纬度小于-90或者大于90
IllegalArgumentException 如果经度小于-180或者大于180
IOException 如果没有网络或者IO错误
public List<Address> getFromLocationName(String locationName, int maxResults)
返回一个由给定的位置名称参数所描述的地址数组。名称参数可以是一个位置名称,如:“Dalvik, Iceland”,一个地址,如:“1600 Amphitheatre Parkway, Mountain View, CA”,一个机场代号,如:“SFO”,等等……返回的地址将根据构造器提供的语言环境进行本地化。
返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。
通过UI主线程的后台线程来调用这个方法可能更加有用。
参数
locationName 用户提供的位置描述
maxResults 要返回的最大结果数,推荐1~5.
返回值
一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。
异常
IllegalArgumentException 如果位置描述为空
IOException 如果没有网络或者IO错误
public static boolean isPresent ()
如果Geocoder的getFromLocation和getFromLcationName都实现了则返回true,没有网络连接这些方法仍然可能返回空或者空序列。
补充
文章精选
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2007-11-07 Ant部署测试出错(关键字:Ant NoClassDefFoundError xml-apis/jar)