本章内容是android.location.GeoCoder,为GPS相关章节,版本为Android4.0r1,结构继承关系publicfinalclassGeocoderextendsObjectjava.lang.Objectandroid.location.Geocoder类概述一个处理前向地理编码和反向地理编码的类。地理编码是一个街道、地址或者其他位置(经度、纬度)转化为坐标的过程。反向地理编码是将坐标转换为地址(经度、纬度)的过程。一组反向地理编码结果间可能会有所差异。例如:一个结果可能包含最临近建筑的完整街道地址,而另一个可能只包含城市名称和邮政编码。Geocoder要求的后端服务并没有包含在基本的Android框架中。如果没有此后端服务,执行Geocoder的查询方法将返回一个空列表。使用isPresent()方法,以确定Geocoder是否能够正常执行。公共构造器publicGeocoder(Contextcontext,Locallocal)根据给定的语言环境构造一个Geocoder对象。参数context当前的上下文对象。localthe当前语言环境publicGeocoder(Contextcontext)根据给定的系统默认语言环境构造一个Geocoder对象。参数context当前的上下文对象。公共方法publicListAddressgetFromLocation(doublelatitude,doublelongitude,intmaxResults)根据给定的经纬度返回一个描述此区域的地址数组。返回的地址将根据构造器提供的语言环境进行本地化。返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。参数latitude纬度longitude经度maxResults要返回的最大结果数,推荐1~5返回值一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。异常IllegalArgumentException纬度小于-90或者大于90IllegalArgumentException果经度小于-180或者大于180IOException如果没有网络或者IO错误publicListAddressgetFromLocationName(StringlocationName,intmaxResults,doublelowerLeftLatitude,doublelowerLeftLongitude,doubleupperRightLatitude,doubleupperRightLongitude)返回一个由给定的位置名称参数所描述的地址数组。名称参数可以是一个位置名称,如:“Dalvik,Iceland”,一个地址,如:“1600AmphitheatreParkway,MountainView,CA”,一个机场代号,如:“SFO”,等等„„返回的地址将根据构造器提供的语言环境进行本地化。你也可以指定一个搜索边界框,该边界框由左下方坐标经纬度和右上方坐标经纬度确定。返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。通过UI主线程的后台线程来调用这个方法可能更加有用。参数locationName用户提供的位置描述maxResults要返回的最大结果数,推荐1~5lowerLeftLatitude左下角纬度,用来设定矩形范围lowerLeftLongitude左下角经度,用来设定矩形范围upperRightLatitude右上角纬度,用来设定矩形范围upperRightLongitude右上角经度,用来设定矩形范围返回值一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。异常IllegalArgumentException如果位置描述为空IllegalArgumentException如果纬度小于-90或者大于90IllegalArgumentException如果经度小于-180或者大于180IOException如果没有网络或者IO错误publicListAddressgetFromLocationName(StringlocationName,intmaxResults)返回一个由给定的位置名称参数所描述的地址数组。名称参数可以是一个位置名称,如:“Dalvik,Iceland”,一个地址,如:“1600AmphitheatreParkway,MountainView,CA”,一个机场代号,如:“SFO”,等等„„返回的地址将根据构造器提供的语言环境进行本地化。返回值有可能是通过网络获取。返回结果是一个最好的估计值,但不能保证其完全正确。通过UI主线程的后台线程来调用这个方法可能更加有用。参数locationName用户提供的位置描述maxResults要返回的最大结果数,推荐1~5.返回值一组地址对象。如果没找到匹配项,或者后台服务无效的话则返回null或者空序列。异常IllegalArgumentException如果位置描述为空IOException如果没有网络或者IO错误publicstaticbooleanisPresent()如果Geocoder的getFromLocation和getFromLcationName都实现了则返回true,没有网络连接这些方法仍然可能返回空或者空序列。补充文章精选Android地图开发中的地理编码与地理反编码Android地图和定位学习总结