Android之 GPS學習筆記

來源:互聯網
上載者:User

標籤:

========================================
GPS:全球定位系統
 GPS由三部分組成:GPS衛星組成的空間部分,若干地面組成的控制站,使用者手中的接收機。
Android 為電話管理支援提供了TelephonyManager
     為音頻管理提供了AudioManager
     為支援GPS提供了LocationManager。
擷取: LocationManager lm = (LocationManager)Context. getSystemService(Context.LOCATION_SERVICE);
 //與擷取TelephonyManager,AudioManager的方法類似。
 List<String> providers = lm.getAllProviers();//擷取系統所有可用的LocationProvider的對象,返回List<String>
 的providers的names集合。


LocationProvider:
 擷取LocationProvider的對象:
  *通過名稱來獲得指定的LocationProvider對象。//LocationProvider provider = lm.getProvider(LocationManager.GPS_PROVIDER);
  **通過Criteria獲得LocationProvider,Criteria相當於一個過濾器,Location.getBestProvider(Criteria criteria,boolean enabledOnly);來
   擷取合格Provider。
 //LocationProvider 中最常用的LocationManager.GPS_PROVIDER


Location 
 通過程式可以即時的擷取使用者所在的經度,維度,高度,方向,移動速度等。詳情見:瘋狂android講義P667


步驟:
 1.擷取系統的LocationManager對象.注意查看:LocationManager的API文檔。
  LocationManager lm = (LocationManager)Context. getSystemService(Context.LOCATION_SERVICE);
 2.使用LocationManager,通過指定LocationProvider來擷取定位資訊,定位資訊由Location對象表示
  LocationProvider provider = lm.getProvider(String name);
 3.從Location對象中擷取定位資訊。
  // Location location = lm.getLastKnownLocation(String provider);
//訪問GPS需要有許可權:故應該在AndoridManifest.xml進行配置:
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>


臨近警告;
 LocationManager提供了一個方法:addProximityAlert(double latitude,double longitude,float radius,long expriration,PendingIntent intent);添加一個臨近警告。
  對應參數為:經度,維度,警告持續的時間:當-1時永久持續,intent表示:臨近時觸發的intent組件。
==============================================================================
小結:
 本章主要介紹了Android提供 的GPS支援,目前絕大多數手機已經提供了GPS的硬體支援,都可以作為GPS定位系統的接收機,而我們要做的是從android系統中擷取GPS定位資訊。
 需要重點掌握:LocationManager,LoccationProvider與LocationListener等API的功能和用法,並可以通過他們監聽擷取GPS定位資訊。
 擷取GPS只是開發其他應用的一個基本前提,之後我們要結合Google Map進行定位,跟蹤等

//Baidu Map 高德map 很不錯的map ,美團的定位系統是:soso地圖。搜房網也是soso地圖

 

Android之 GPS學習筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.