譚家龍
摘 要:隨著計算機(jī)科學(xué)技術(shù)和地理信息系統(tǒng)以及全球定位系統(tǒng)(GPS)的發(fā)展,產(chǎn)生了一門新的應(yīng)用——電子地圖。本文主要介紹了Ios電子地圖的功能模塊及其實現(xiàn)方法。該地圖具有操作簡單,能進(jìn)行路徑規(guī)劃,反饋實時路況的特點。
關(guān)鍵詞:Ios;路徑規(guī)劃;地圖查詢
1 引言
從最初用于軍事和國家重要利益的民用領(lǐng)域,到現(xiàn)在與老百姓息息相關(guān)的生活中,電子地圖突飛猛進(jìn)發(fā)展的同時,也將應(yīng)用范圍擴(kuò)展到了生活的每個角落。本文將描述Ios電子地圖的實現(xiàn)方法,并應(yīng)用到交通系統(tǒng)中。
2 模塊的分析與設(shè)計
2.1 需求分析
本系統(tǒng)的目標(biāo)就是將電子地圖應(yīng)用到交通系統(tǒng)當(dāng)中,在電子地圖上進(jìn)行應(yīng)用開發(fā),提供可視化的人機(jī)交互界面,主要圍繞以下幾點進(jìn)行展開:(1)地圖控制:能夠?qū)Φ貓D進(jìn)行轉(zhuǎn)移、放大、縮小以及添加圖層。(2)自我定位:能夠通過手機(jī)的GPS設(shè)備進(jìn)行實時定位并在地圖上標(biāo)注出來,讓用戶得到準(zhǔn)確而實時的位置信息。(3)地點搜索:根據(jù)輸入字符串進(jìn)行地點匹配。(4)路徑規(guī)劃:通過起點和終點位置進(jìn)行路徑選擇,并提供公交和自駕兩種模式。(5)實時路況:通過視頻或者表格方式了解某路段的實時路況信息。(6)附近搜索:能夠搜索當(dāng)前位置附近的公園、學(xué)校及醫(yī)院等服務(wù)信息。(7)操作簡單:功能盡量簡單易懂、易操作。
2.2 系統(tǒng)功能模塊
按照系統(tǒng)需求,將系統(tǒng)劃分成5個功能模塊,每個模塊實現(xiàn)的功能如下所述:(1)自我定位:利用GPS提供的定位服務(wù),確定用戶所在城市、街道的位置信息,并將具體位置信息在電子地圖界面向用戶進(jìn)行展示。(2)地點搜索:通過地址解析功能解析用戶輸入的城市名或其他詳細(xì)地址信息,向用戶展示所查地址在電子地圖的詳細(xì)方位,進(jìn)行地圖轉(zhuǎn)移。(3)路徑規(guī)劃:通過位置搜索功能或是地圖點擊方式來獲取起點及終點的位置信息,并且由用戶手動選擇路線的行駛方式(公交行駛或者是自駕行駛);最終在電子地圖上繪制出起點到終點的最佳路徑,供用戶查看。(4)實時路況:通過地圖點擊功能獲取用戶所查某一路段的詳細(xì)地址,并向用戶展示出該路段的實時路況視頻或者該道路的車輛密度狀況,由用戶選擇自我出行線路,有助于減少道路擁塞情況。(5)附近搜索:當(dāng)用戶忘記或者不清楚所去目的地的詳細(xì)地址時,可通過該模塊搜索附近的公園、學(xué)校和醫(yī)院等服務(wù)類信息,有效地提高用戶的出行效率。
3 模塊的實現(xiàn)過程
3.1 界面設(shè)計
在Ios平臺的應(yīng)用開發(fā)中,界面的設(shè)計是核心問題,界面不僅是人機(jī)交互的接口,還能影響用戶對整個應(yīng)用程序的使用情況。本系統(tǒng)設(shè)計了4個界面:地圖服務(wù)界面、路徑規(guī)劃界面、實時路況視頻界面和實時路況表格界面。
(1)地圖服務(wù)界面:地圖服務(wù)界面需要一張電子地圖界面和一個“自我定位”按鈕,電子地圖界面用來實現(xiàn)地圖顯示功能,而“自動定位”按鈕控制監(jiān)聽事件的開關(guān)。另外在菜單選擇項中添加4個子功能選項,有:“地點搜索”、“路徑規(guī)劃”、“實時路況”、“附近搜索”。
位置搜索與設(shè)計地點搜索需要兩個下拉列表、一個文本輸入框和兩個按鈕。其中兩個下拉列表用來存儲省級和省級對應(yīng)的各個市級名稱,屬于市級以上地址獲取方式;一個文本輸入框讓用戶輸入某地址的詳細(xì)信息,屬于市級以下的地址信息獲取方式,文本輸入框和下拉列表的作用是等同的,一個是屬于市級以上的地址搜索,一個是市級以上的地址搜索,也可以都輸入;兩個按鈕一個是用來保證搜索的順利進(jìn)行,另一個是取消本次的操作,退出位置搜索模塊。
(2)路徑規(guī)劃界面:路徑規(guī)劃界面需要兩個文本輸入框,兩個圖片按鈕和三個普通按鈕。兩個文本輸入框一個是用來獲取起點地址,另外一個是用來獲取終點地址(該地址主要指字符串地址);兩個圖片按鈕主要是用來響應(yīng)地圖點擊的方式獲取起點或者終點位置的經(jīng)緯度信息;三個普通按鈕,其中兩個是代表路線的駕駛模式(是公交行駛還是自駕行駛),另外一個按鈕是路徑規(guī)劃功能的正常運行并判斷所獲數(shù)據(jù)是否完整。
(3)實時路況視頻界面:實時路況視頻界面比較簡單,通過Ios的基本視頻播放界面讓用戶觀看實時的視頻路況,主要有播放、暫停兩個功能。
(4)實時路況表格界面:實時路況表格界面需要一個2維度的表格視圖。其中橫坐標(biāo)代表的是時間,五個時間點代表了半個小時以內(nèi)的時間段;縱坐標(biāo)表示的交通車流密度,分為四個等級:順暢、正常、擁擠、阻塞;界面標(biāo)題為該段的道路名稱。
3.2 定位模塊設(shè)計
自我定位模塊主要是通過GPS設(shè)備獲得位置信息并在電子地圖上向用戶展示。該定位功能是通過定位按鈕手動開啟及關(guān)閉的,在手動定位之前需要確保GPS設(shè)備是否開啟,防止定位時無法從GPS設(shè)備中獲得位置信息。定位按鈕被點擊后,對監(jiān)聽事件是否存在進(jìn)行判斷,如果監(jiān)聽事件存在,則表示該點擊目的是關(guān)閉監(jiān)聽事件;如果沒有監(jiān)聽事件存在,則表示該點擊目的是創(chuàng)建一個監(jiān)聽事件,需要設(shè)置監(jiān)聽參數(shù),打開GPS設(shè)備,最后在電子地圖上實現(xiàn)定位功能。
3.3 位置搜索模塊設(shè)計
位置搜索模塊主要通過手機(jī)輸入界面獲得用戶所需查詢的地址信息,再通過相關(guān)方法將字符串地址轉(zhuǎn)換為經(jīng)緯度地址坐標(biāo),在電子地圖上進(jìn)行位置轉(zhuǎn)移。該模塊是通過位置搜索界面獲得用戶搜索的地址信息,接著再對輸入地址信息進(jìn)行判斷,如果所查地址信息是省或市級以上地址,則到本地數(shù)據(jù)中查找相關(guān)經(jīng)緯度信息并實現(xiàn)地圖轉(zhuǎn)移功能;如果所查地址信息比較詳細(xì)屬于市級以下地址,則需要進(jìn)行地址解析,將字符串地址轉(zhuǎn)為經(jīng)緯度地址供用戶選擇,待用戶選擇地址后實現(xiàn)地圖轉(zhuǎn)移功能。
3.4 路徑規(guī)劃模塊設(shè)計
路徑規(guī)劃模塊提供了兩種輸入方式:地圖點擊與文本輸入,接著利用輸入的起點和終點坐標(biāo)來估算出最佳路徑并在電子地圖上進(jìn)行顯示。該模塊的輸入部分可分為兩種,地圖點擊和文本輸入。其中,地圖點擊是從當(dāng)前地圖上直接獲得起點和終點經(jīng)緯度坐標(biāo),而文本輸入是利用相關(guān)方法將輸入的字符串地址解析成相應(yīng)的經(jīng)緯度坐標(biāo);最后當(dāng)起點和終點信息被確認(rèn)完整后,計算出最佳路徑并在電子地圖上顯示路徑信息。
3.5 實時路況模塊設(shè)計
實時路況模塊主要通過從服務(wù)器獲取相應(yīng)路段的路況視頻地址和實時路況數(shù)據(jù)向用戶展示該路段的實時路況視頻或者是車輛密度信息,讓用戶精確地了解到該路段的實時狀況并做出明確的選擇,減少交通擁塞情況。通過點擊地圖的方式能獲取到目標(biāo)路段信息,接著將路名與本地數(shù)據(jù)庫數(shù)據(jù)進(jìn)行匹配;若匹配未成功,則只能與附近的路段進(jìn)行范圍匹配,找出最合適的攝像機(jī)獲得實時路況信息;若匹配成功,讓用戶選擇數(shù)據(jù)接收方式,若是視頻播放數(shù)據(jù),則返回相應(yīng)的視頻接口地址,若是表格數(shù)據(jù),則返回相應(yīng)的車輛密度信息;最后通過視頻或者表格的方式向用戶展示實時路況信息。
3.6 附近搜索模塊設(shè)計
附近搜索模塊主要根據(jù)用戶不同的搜索類型開始搜索。該模塊提供了醫(yī)院、公園、學(xué)校三種服務(wù)類型供用戶查詢,用戶只能搜索當(dāng)前位置4公里(以球面距離計算)以內(nèi)的服務(wù)信息,搜索到信息后由用戶選擇,待用戶選擇后在電子地圖上繪制出的路徑信息。
該模塊提供了三種服務(wù)類型:醫(yī)院、公園和學(xué)校。首先用戶要選擇需要的服務(wù)類型,其次到數(shù)據(jù)庫中查找相應(yīng)服務(wù)類型的所有位置信息,利用球面距離公式計算出當(dāng)前位置與所查位置之間的空間距離,刪選出有效信息讓用戶選擇出最理想、最合適的地點;最后由電子地圖繪制出相應(yīng)的路徑信息。
4 結(jié)束語
本文是基于Ios手機(jī)的電子地圖的應(yīng)用開發(fā),基本能實現(xiàn)便捷交通、方便用戶出行的目的,有一定的實用性和先進(jìn)性。但是本系統(tǒng)還存在一些不足之處,比如自動定位的精度有待提高,系統(tǒng)的擴(kuò)充性有待加強(qiáng),隨著后續(xù)工作的進(jìn)行,我相信一定可以完善的更好。
[參考文獻(xiàn)]
[1]張彩霞,高穎.iPhone開發(fā)秘籍(第2版)[J].北京:人民郵電出版社, 2010.
[2]漆振.iPhone開發(fā)實戰(zhàn)[J].北京:人民郵電出版社,2009.
[3]Bill Dudney.iPhone SDK3開發(fā)指南[J].北京:電子工業(yè)出版社, 2010.