<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于MaPX的校園導(dǎo)航系統(tǒng)設(shè)計

          基于MaPX的校園導(dǎo)航系統(tǒng)設(shè)計

          作者: 時間:2009-07-29 來源:網(wǎng)絡(luò) 收藏

          2.2 電子地圖基本功能實現(xiàn)
          電子地圖基本功能包括選擇、標(biāo)注、縮小、放大、漫游等。采用MapX可以很容易的實現(xiàn)這些功能,下面以縮小功能為例,簡單介紹一下程序里如何實現(xiàn)地圖縮小。
          添加一個新的Toolbar資源。輸人標(biāo)題“IDR_TOOL_BARMAP”。在“IDR_TOOLBARMAP”下添加按鈕,在其上繪制縮小圖形來表示“縮小”,其ID為ID_MAP_TOOL_ZOOMOUT。打開類向?qū)Вx擇視圖類CMapXView.為菜單項ID_MAP_TOOL_ZOOMOUT添加COOMMAND消息映射函數(shù)OnMapToolZoomout(),并編輯代碼如下:

          本文引用地址:http://www.ex-cimer.com/article/197856.htm


          編譯運行程序.點擊縮小按鈕,在電子地圖上單擊鼠標(biāo)就會實現(xiàn)電子地圖的縮小功能??捎孟嗤椒▽崿F(xiàn)其他標(biāo)準(zhǔn)工具的功能。
          2.3 GPS數(shù)據(jù)的接收和處理
          此模塊完成了從串口讀取數(shù)據(jù),并對數(shù)據(jù)按照GPS所遵循的NMEA0183協(xié)議進行處理,得出經(jīng)緯度坐標(biāo)等信息的功能。此模塊包括兩個部分串口通信和數(shù)據(jù)處理。
          由于GPS模塊每一秒更新一次數(shù)據(jù),當(dāng)上空有4顆衛(wèi)星時串口會源源不斷的接收到定位數(shù)據(jù).為了在對串口實時監(jiān)控的同時還可以在前臺進行一些其他的操作。采用基于多線程的CSerialPort類的串口通信方法可以很好的解決這一問題。
          此模塊的工作流程可分為以下幾步:(1)利用CSerial-Port的InitPort()初始化串口配置。(2)如果配置成功用StartMonitoring()打開串口并創(chuàng)建監(jiān)視串口的線程。(3)在相應(yīng)的類里添加響應(yīng)WM_COMM_RXCHAR消息的消息處理函數(shù),并且在其中做接收字符處理。(4)添加定時器.在OnTimer中處理NMEA 0183格式的GPS定位數(shù)據(jù).將提取到的緯度數(shù)據(jù)保存到相應(yīng)類上的成員變量中。
          2.4 目標(biāo)定位和播報
          該模塊從GPS數(shù)據(jù)處理模塊中得到經(jīng)緯度坐標(biāo)等信息,并且把它賦值給目標(biāo)圖元,通過定時器更新圖元位置從而完成實時定位。
          由于程序?qū)崟r接收定位數(shù)據(jù)來更新圖元的位置.就需要程序頻繁的刷新整個圖層,就會影響效率。動態(tài)圖層的目的是為了加速圖層的刷新率從而提高效率,設(shè)置動態(tài)圖層后。每次刷新都只刷新動態(tài)圖層,這樣就很好的解決了這個問題。示例代碼如下:


          程序最后運行界面如下:

          3 結(jié)束語
          本文在GIS二次開發(fā)日新月益的背景下.結(jié)合校園實際特點開發(fā)了基于MapX的校園系統(tǒng)。經(jīng)過調(diào)試,程序運行穩(wěn)定,實現(xiàn)了電子地圖放大、縮小、漫游等功能。程序由Mi-crosoft Visual C++6.0編譯、在Windows XP下運行通過。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();