資源描述:
《android-位置服務(wù)與地圖應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第9章位置服務(wù)與地圖應(yīng)用本章學(xué)習(xí)目標(biāo):了解位置服務(wù)的概念了解地圖密鑰的申請方法掌握獲取位置信息的方法掌握MapView和MapController的使用方法掌握Google地圖覆蓋層的使用方法9.1位置服務(wù)位置服務(wù)位置服務(wù)(Location-BasedServices,LBS),又稱定位服務(wù)或基于位置的服務(wù),融合了GPS定位、移動通信、導(dǎo)航等多種技術(shù),提供了與空間位置相關(guān)的綜合應(yīng)用服務(wù)位置服務(wù)首先在日本得到商業(yè)化的應(yīng)用2001年7月,DoCoMo發(fā)布了第一款具有三角定位功能的手持設(shè)備2001年12月,KD
2、DI發(fā)布第一款具有GPS功能的手機基于位置的服務(wù)發(fā)展迅速,已涉及到商務(wù)、醫(yī)療、工作和生活的各個方面,為用戶提供定位、追蹤和敏感區(qū)域警告等一系列服務(wù)9.1位置服務(wù)位置服務(wù)Android平臺支持提供位置服務(wù)的API,在開發(fā)過程中主要用到LocationManager和LocationProviders對象LocationManager可以用來獲取當(dāng)前的位置,追蹤設(shè)備的移動路線,或設(shè)定敏感區(qū)域,在進入或離開敏感區(qū)域時設(shè)備會發(fā)出特定警報LocationProviders是能夠提供定位功能的組件集合,集合中的每種組
3、件以不同的技術(shù)提供設(shè)備的當(dāng)前位置,區(qū)別在于定位的精度、速度和成本等方面9.1位置服務(wù)位置服務(wù)提供位置服務(wù),首先需要獲得LocationManager對象獲取LocationManager可以通過調(diào)用android.app.Activity.getSystemService()函數(shù)實現(xiàn)android.app.Activity.getSystemService()函數(shù)代碼如下代碼第1行的Context.LOCATION_SERVICE指明獲取的服務(wù)是位置服務(wù)代碼第2行的getSystemService()函數(shù)
4、,可以根據(jù)服務(wù)名稱獲取Android提供的系統(tǒng)級服務(wù)StringserviceString=Context.LOCATION_SERVICE;LocationManagerLocationManager=(LocationManager)getSystemService(serviceString);9.1位置服務(wù)位置服務(wù)Android支持的系統(tǒng)級服務(wù)表Context類的靜態(tài)常量值返回對象說明LOCATION_SERVICElocationLocationManager控制位置等設(shè)備的更新WINDOW_S
5、ERVICEwindowWindowManager最頂層的窗口管理器LAYOUT_INFLATER_SERVICElayout_inflaterLayoutInflater將XML資源實例化為ViewPOWER_SERVICEpowerPowerManager電源管理ALARM_SERVICEalarmAlarmManager在指定時間接受IntentNOTIFICATION_SERVICEnotificationNotificationManager后臺事件通知KEYGUARD_SERVICEkeygu
6、ardKeyguardManager鎖定或解鎖鍵盤SEARCH_SERVICEsearchSearchManager訪問系統(tǒng)的搜索服務(wù)VIBRATOR_SERVICEvibratorVibrator訪問支持振動的硬件CONNECTIVITY_SERVICEconnectionConnectivityManager網(wǎng)絡(luò)連接管理WIFI_SERVICEwifiWifiManagerWi-Fi連接管理INPUT_METHOD_SERVICEinput_methodInputMethodManager輸入法管理9
7、.1位置服務(wù)位置服務(wù)在獲取到LocationManager后,還需要指定LocationManager的定位方法,然后才能夠調(diào)用LocationManagergetLastKnowLocation()方法獲取當(dāng)前位置LocationManager支持的定位方法有兩種GPS定位:可以提供更加精確的位置信息,但定位速度和質(zhì)量受到衛(wèi)星數(shù)量和環(huán)境情況的影響網(wǎng)絡(luò)定位:提供的位置信息精度差,但速度較GPS定位快9.1位置服務(wù)位置服務(wù)LocationManager支持定位方法在指定LocationManager的定位方
8、法后,則可以調(diào)用getLastKnowLocation()方法獲取當(dāng)前的位置信息LocationManager類的靜態(tài)常量值說明GPS_PROVIDERgps使用GPS定位,利用衛(wèi)星提供精確的位置信息,需要android.permissions.ACCESS_FINE_LOCATION用戶權(quán)限NETWORK_PROVIDERnetwork使用網(wǎng)絡(luò)定位,利用基站或Wi-Fi提供近似的位置信息,需要具有如下權(quán)限:android.p