資源描述:
《地圖應(yīng)用開(kāi)發(fā)V》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第8章地圖應(yīng)用開(kāi)發(fā)哈爾濱工程大學(xué)王向輝本章學(xué)習(xí)目標(biāo):掌握位置傳感器的使用方法了解不同位置信息獲取途徑掌握通知控件的使用方法掌握谷歌地圖的使用方法8.1位置傳感器位置服務(wù)(Location-BasedServices,LBS),又稱(chēng)定位服務(wù)或基于位置的服務(wù),融合了GPS定位、移動(dòng)通信、導(dǎo)航等多種技術(shù),提供與空間位置相關(guān)的綜合應(yīng)用服務(wù)。定位服務(wù)可以獲取用戶(hù)終端的位置信息,Android系統(tǒng)支持GPS、WiFi和基站信號(hào)三種定位方式。位置傳感器(LocationSensor)采用上述三種定位技術(shù),可以獲取手機(jī)的經(jīng)度、緯度和海拔等數(shù)據(jù)。位置傳感器是非可視化控件,在頁(yè)面編輯器中顯示如下圖所示。界面
2、編輯器中的位置傳感器8.1位置傳感器位置傳感器的屬性位置傳感器支持較多的屬性,包括定位精度、定位硬件、經(jīng)緯度、海拔等信息。具體屬性如下表:屬性屬性說(shuō)明Accuracy設(shè)備的精確度,單位(米)AvailableProviders可用的位置服務(wù)提供硬件CurrentAddress當(dāng)前所在位置地址Enabled是否啟用位置服務(wù)HasAccuracy是否可返回設(shè)備精確度HasAltitude是否可返回設(shè)備高度HasLongitudeLatitude是否可返回設(shè)備經(jīng)緯度Latitude緯度Longitude經(jīng)度Altitude海拔高度ProviderLocked鎖定位置服務(wù)提供者ProviderN
3、ame位置服務(wù)提供者名稱(chēng)TimeInterval每隔多長(zhǎng)時(shí)間顯示一次定位信息DistanceInterval每隔多大距離顯示一次定位信息8.1位置傳感器位置傳感器事件位置傳感器支持位置改變事件(LocationChanged)和位置服務(wù)提供者狀態(tài)改變事件(StatusChanged)。位置改變事件在手機(jī)的經(jīng)度、緯度和高度發(fā)生變化時(shí)產(chǎn)生,一般用來(lái)獲取這三項(xiàng)數(shù)值。位置服務(wù)提供者狀態(tài)改變事件在位置服務(wù)提供者的狀態(tài)發(fā)生變化時(shí)產(chǎn)生,用來(lái)獲取位置服務(wù)提供者的基本信息和狀態(tài)信息。位置傳感器的事件8.1位置傳感器位置傳感器方法位置傳感器支持LatitudeFromAddress方法和LongitudeF
4、romAddress方法。LatitudeFromAddress方法可以從地址中獲取經(jīng)度信息。LongitudeFromAddress方法可以從地址中獲取緯度信息。位置傳感器方法8.1位置傳感器下圖是LocationSensor示例的運(yùn)行界面。在手機(jī)上運(yùn)行該示例,可以獲取到手機(jī)的經(jīng)度和緯度信息,該示例的海拔信息、服務(wù)提供者信息和狀態(tài)信息處于未知狀態(tài)。位置傳感器示例LocationSensor為了能更好的理解位置傳感器的事件和屬性,下面介紹可以獲取位置信息和位置服務(wù)提供者信息的LocationSensor示例。8.1位置傳感器位置傳感器示例LocationSensor右圖是示例Locati
5、onSensor的界面示意圖,該示例中可視化控件只有標(biāo)簽,非可視化控件有表格布局和位置傳感器。8.1位置傳感器位置傳感器示例LocationSensorLocationSensor示例的邏輯模塊比較簡(jiǎn)單,只有兩個(gè)關(guān)于位置傳感器控件的事件模塊,LocationSensor示例的全部邏輯模塊如下圖。8.2通知控件在進(jìn)入下一節(jié)“谷歌地圖”前,先介紹一個(gè)重要的通知控件Notifier,這是一個(gè)非可視化控件,在界面編輯器中的顯示如下圖。通知控件提供了多種不同的方式與手機(jī)用戶(hù)交互信息,例如在屏幕中出現(xiàn)的浮動(dòng)消息,以及彈出的選擇對(duì)話(huà)框或輸入對(duì)話(huà)框,如下圖所示。8.2通知控件Notifier是一個(gè)沒(méi)有屬
6、性的控件,支持選擇后事件(AfterChoosing)和輸入后事件(AfterTextInput)。選擇后事件,用戶(hù)在選擇對(duì)話(huà)框中做出選擇后產(chǎn)生,一般與ShowChooseMessageDialog方法聯(lián)合使用。輸入后事件,用戶(hù)在文本對(duì)話(huà)框中輸入并返回后產(chǎn)生,一般與ShowTextDialog方法聯(lián)合使用。通知控件事件通知控件事件8.2通知控件Notifier支持7種方法,包括顯示消息對(duì)話(huà)框、顯示選擇對(duì)話(huà)框和顯示文本對(duì)話(huà)框等,如下表所示。通知控件方法方法說(shuō)明ShowMessageDialog顯示消息對(duì)話(huà)框,只有一個(gè)按鈕,可設(shè)定按鈕顯示的文字ShowChooseDialog顯示選擇對(duì)話(huà)框,
7、有兩個(gè)或三個(gè)按鈕,并可設(shè)定按鈕顯示的文字ShowTextDialog顯示文本對(duì)話(huà)框,可在對(duì)話(huà)框中輸入文字ShowAlert顯示警告信息LogError錯(cuò)誤信息LogInfo提示信息LogWarning警告信息8.1位置傳感器通知控件示例NotifierNotifier示例說(shuō)明如何使用通知控件產(chǎn)生消息對(duì)話(huà)框,獲取用戶(hù)在選擇對(duì)話(huà)框的選擇和在文本對(duì)話(huà)框中的輸入。Notifier示例的運(yùn)行界面如下圖所示,用戶(hù)在點(diǎn)擊不同的按鈕后,會(huì)產(chǎn)生一個(gè)與