Android中文API(136) —— GeoCoder

來源:互聯網
上載者:User

 

前言

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

如果Geocoder的getFromLocation和getFromLcationName都實現了則返回true,沒有網路連接這些方法仍然可能返回空或者空序列。

 

補充

文章精選

         Android地圖開發中的地理編碼與地理反編碼

         Android地圖和定位學習總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.