前言
本章内容是android.location.GeoCoder,为GPS相关章节,版本为Android 4.0 r1,翻译来自"熊猫82",欢迎访问他的博客:"http://wisekingokok.cnblogs.com",再次感谢"熊猫82"!欢迎你一起参与Android的中文翻译,联系我[email protected]。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com/
Android中文翻译组: http://goo.gl/6vJQl
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 getFromLocation(double latitude, double longitude, int maxResults)
根据给定的经纬度返回一个描述此区域的地址数组。返回的地址将根据构造器提供的语言环境进行本地化。
返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。
参数
latitude 纬度
longitude 经度
maxResults 要返回的最大结果数,推荐1~5
返回值
一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。
异常
IllegalArgumentException 纬度小于-90或者大于90
IllegalArgumentException 果经度小于-180或者大于180
IOException 如果没有网络或者IO错误
public List 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 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,没有网络连接这些方法仍然可能返回空或者空序列。