前言

  本章内容是android.location.GeoCoder,为GPS相关章节,版本为Android 4.0 r1,翻译来自"熊猫82",欢迎访问他的博客:"http://wisekingokok.cnblogs.com",再次感谢"熊猫82"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    博客园: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<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 ()

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

补充

文章精选

Android地图开发中的地理编码与地理反编码

Android地图和定位学习总结

更多相关文章

  1. Android架构组件-Navigation的使用(一)
  2. android经典开源代码集合
  3. Android中文API(134) —— Account
  4. Android中文API(132) —— GpsSatellite
  5. Android中文API(136) —— Bitmap
  6. android 解析json数据格式
  7. Android中贪吃蛇游戏的学习(三)
  8. GitHub 优秀的 Android(安卓)开源项目
  9. android 拍照+从手机相册选择返回图片到imagview

随机推荐

  1. 【Android(安卓)开发】: Android(安卓)消
  2. ch028 Android(安卓)断点续传
  3. ch016 Android(安卓)自定义对话框.
  4. Android配置文件中标签
  5. Project Volta 让 Android(安卓)续航提升
  6. android:id="@+id/title"、android:id="@
  7. Android多点触控
  8. android企业级商城源码、360°全景图VR源
  9. Android渗透测试Android渗透测试入门教程
  10. android状态栏工具类