Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android中文API(136) —— GeoCoder

Android中文API(136) —— GeoCoder

編輯: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,沒有網絡連接這些方法仍然可能返回空或者空序列。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved