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