編輯:Android開發實例
前言
本章內容是android.location.GeoCoder,為GPS相關章節,版本為Android 4.0 r1,翻譯來自"熊貓82"。
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,沒有網絡連接這些方法仍然可能返回空或者空序列。
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我