虎嘯
【摘要】 隨著信息技術(shù)的 迅速發(fā)展,人們的生活內(nèi)容不斷豐富,手機(jī)地圖的使用率和需求率越來(lái)越高,人們利用手機(jī)地圖進(jìn)行導(dǎo)航、定位,或者結(jié)合其它應(yīng)用為生活和出行創(chuàng)造便利條件。如果用戶將實(shí)時(shí)位置信息以便捷的方式有選擇地記錄下來(lái),或者通過(guò)電子地圖對(duì)目的地坐標(biāo)進(jìn)行位置搜索后選中記錄,并設(shè)定時(shí)間進(jìn)行提醒,將有助于為人們提供需要二次或多次訪問(wèn)地點(diǎn)的備忘提醒。
【關(guān)鍵詞】 百度地圖 定位 備忘提醒
一、總體設(shè)計(jì)
1.定位位置提取。定位位置提取由兩個(gè)部分組成,一是自我定位模塊,通過(guò)GPS設(shè)備獲得位置信息??梢栽O(shè)定快捷鍵來(lái)啟動(dòng)定位記錄。當(dāng)用戶按下快捷鍵后,用戶當(dāng)前位置便被快速記錄下來(lái),并可以在電子地圖上向用戶展示當(dāng)前的位置,用戶可再次確定是否記錄下該地點(diǎn)作為備忘內(nèi)容;二是位置搜索模塊,通過(guò)用戶在電子地圖上選定位置,確定用戶想要搜索的地址坐標(biāo)。
2.設(shè)置備忘錄。將用戶需要的定位位置通過(guò)自動(dòng)截圖的方式記錄下來(lái),與設(shè)置的鬧鈴信息進(jìn)行關(guān)聯(lián)并保存。提醒方式可以為系統(tǒng)默認(rèn)或者用戶設(shè)置,同時(shí)用戶可以根據(jù)提醒的時(shí)間、頻率、內(nèi)容等進(jìn)行查詢、添加、修改和刪除。
3.備忘錄提醒。根據(jù)用戶在地圖備忘錄設(shè)置的信息,可在相應(yīng)的時(shí)間向用戶提醒備忘錄中的地址或定位位置信息。對(duì)備忘錄中已經(jīng)提醒過(guò)的地址及定位坐標(biāo)進(jìn)行過(guò)期提醒,由用戶決定是否刪除該備忘內(nèi)容。
二、功能實(shí)現(xiàn)
對(duì)android平臺(tái)的簡(jiǎn)介
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和智能手機(jī)的普及,人們的日常生活與智能手機(jī)的關(guān)聯(lián)更加緊密。近年來(lái),android在中國(guó)城市智能手機(jī)市場(chǎng)的份額大幅增加,在android平臺(tái)上進(jìn)行開(kāi)發(fā),將有利于應(yīng)用軟件日后的推廣。android平臺(tái)為開(kāi)發(fā)者提供了靈活便捷的地圖展示和控制功能,開(kāi)發(fā)者通過(guò)調(diào)用電子地圖的接口既可以實(shí)現(xiàn)地圖的顯示、定位、搜索等功能,也可以根據(jù)應(yīng)用需要進(jìn)行技術(shù)創(chuàng)新而達(dá)到個(gè)性化目的。
1.位置信息的提取和顯示。手機(jī)應(yīng)用程序要獲取定位信息一般是通過(guò)借助第三方服務(wù),如百度地圖、高德地圖等,并按照第三方開(kāi)發(fā)要求,對(duì)電子地圖相關(guān)接口進(jìn)行調(diào)用。本文通過(guò)百度地圖定位 SDK來(lái)設(shè)計(jì)實(shí)現(xiàn)對(duì)用戶當(dāng)前定位信息的記錄和顯示。通過(guò)按動(dòng)系統(tǒng)默認(rèn)或者用戶之前設(shè)置快捷鍵的方式啟動(dòng)定位按鈕并自動(dòng)定位當(dāng)前位置,向定位SDK 發(fā)起定位請(qǐng)求時(shí),根據(jù) GPS、 基站、 WiFi 信號(hào)的實(shí)際情況來(lái)進(jìn)行定位,此時(shí)將坐標(biāo)設(shè)置為經(jīng)緯度球面坐標(biāo),確保以最好的精度返回定位信息。該應(yīng)用程序中要使用一些用于定位、顯示、控制信息的功能類。通過(guò)BDLocation 類獲取位置坐標(biāo),反編地理碼等信息,使用LocationClientOption 類來(lái)設(shè)定位方式,同時(shí)通過(guò)該類來(lái)實(shí)現(xiàn)對(duì)GPS是否打開(kāi),是否需要定位信息、定位操作掃描次數(shù)等參數(shù)進(jìn)行設(shè)置。屏幕中的像素點(diǎn)和地球表面的經(jīng)緯度坐標(biāo)之間的對(duì)應(yīng)轉(zhuǎn)化由Projection 接口類來(lái)完成。地圖控制器MapController 類來(lái)達(dá)到地圖的縮放、多角度顯示等效果。通過(guò) ItemizedOverlay向地圖添加一個(gè)自定義覆蓋物以標(biāo)記用戶當(dāng)前的位置。用戶也可以通過(guò)打開(kāi)應(yīng)用軟件瀏覽地圖,確定當(dāng)前定位位置并記錄,或重新在地圖上搜索選擇想要作為備忘內(nèi)容的位置坐標(biāo)。
2.備忘錄的設(shè)置和操作。為了方便用戶在離線時(shí)也可以看到備忘內(nèi)容,對(duì)用戶備忘的地點(diǎn)主要采用截取電子地圖上所需位置圖片的方式進(jìn)行保存。用戶當(dāng)前的地址坐標(biāo)或者所要記錄的地址坐標(biāo)信息將會(huì)以圖片方式記錄到備忘錄中,所以就需要考慮在SQlite數(shù)據(jù)庫(kù)里存取圖片。在數(shù)據(jù)庫(kù)中存取圖片一般有兩種方式,一是保存圖片路徑,二是將圖片以二進(jìn)制的方式保存到BLOB類型的字段里。本文采用的是第一種方法,因?yàn)槿绻跀?shù)據(jù)庫(kù)里存入大量媒體數(shù)據(jù),會(huì)使得數(shù)據(jù)庫(kù)大小激增而導(dǎo)致數(shù)據(jù)庫(kù)訪問(wèn)性能下降。把含有用戶當(dāng)前位置或所要記錄的地址坐標(biāo)信息的圖片保存到指定文件夾內(nèi),圖片路徑將保存到數(shù)據(jù)庫(kù)中以達(dá)到按照要求顯示的效果。
3.備忘錄的提醒。備忘錄的提醒采用鬧鈴提醒和彈窗提醒兩種方式。在應(yīng)用程序開(kāi)始時(shí)就調(diào)用AlarmManager的 setRepeating方法,在固定時(shí)間間隔發(fā)送廣播,再通過(guò)BroadcastReceiver 對(duì)數(shù)據(jù)庫(kù)中的提醒信息進(jìn)行監(jiān)聽(tīng)。使用BroadcastReceiver 的 CallAlarm 類中的 onReceiver 函數(shù)來(lái)負(fù)責(zé)接收該廣播。創(chuàng)建DBService 輔助類來(lái)處理用戶所設(shè)置的提醒時(shí)間與當(dāng)前時(shí)間是否一致。若不一致,則返回為空,若一致,則返回?cái)?shù)據(jù)項(xiàng)。onReceiver 函數(shù)將返回的數(shù)據(jù)項(xiàng)信息傳遞給 AlarmAlert 活動(dòng)并啟動(dòng)該活動(dòng)。在 AlarmAlert 活動(dòng)中,根據(jù)數(shù)據(jù)項(xiàng)中的內(nèi)容,通過(guò)彈窗震動(dòng)和播放鬧鈴的方式進(jìn)行提醒。
三、結(jié)束語(yǔ)
人們往往是按照到某地、于某時(shí)、辦某事來(lái)進(jìn)行備忘記錄的,因此地理位置與人們的日?;顒?dòng)有著密切的關(guān)系。隨著電子地圖、實(shí)時(shí)定位和位置搜索等信息技術(shù)的發(fā)展,備忘錄中的地點(diǎn)由GPS實(shí)時(shí)定位技術(shù)記錄,或用戶在地圖上進(jìn)行位置搜索后選中需要備忘的地點(diǎn),將以截圖的方式記錄位置,同時(shí)利用備忘錄的提醒功能,在設(shè)定時(shí)間內(nèi)進(jìn)行提醒。收到提醒的用戶,可以直接在彈窗上看到之前備忘的地點(diǎn),通過(guò)地點(diǎn)與活動(dòng)的關(guān)聯(lián)性,完成計(jì)劃中所要做的事情,以達(dá)到備忘的目的。
參 考 文 獻(xiàn)
[1]李天文. GPS 原理及應(yīng)用[ M] . 北京: 北京科學(xué)出版社,2003