Android中文API(136) —— GeoCoder

Android中文API(136) —— GeoCoder

 

前言

  本章内容是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 ()

如果GeocodergetFromLocationgetFromLcationName都实现了则返回true,没有网络连接这些方法仍然可能返回空或者空序列。

你可能感兴趣的:(Android)