用vc++實現向量地圖背景下的即時顯示

來源:互聯網
上載者:User
  摘要 本文介紹了在vc++實現的即時顯示系統中,用ole方式嵌入mapinfo向量地圖的編程方法,簡要敘述了其實現過程。
  一、 前言
  電子地圖應用作為一門新興學科,已不僅限於地圖製作中。本文利用vc++和ole(object linking And embedding, 對象串連和嵌入)編程技術,實現了即時資訊在向量地圖背景上的顯示。
  程式應用於顯示處理終端,接收並處理網路資訊的部分在不同的系統中有不同的要求,這裡不再贅述。
  mapinfo向量地圖用圖層方式進行儲存和管理,每個圖層對應地圖上的一類要素(如居民地,水系,鐵路,公路等),對於每個包含圖形資訊的圖層,需要有4個檔案(.dat, .tab, .map, .id)支援。
  mapinfo地圖允許嵌入一個地圖視窗到任何能接受ole對象的應用程式中。從伺服器(如mapinfo)插入一個ole對象到容器應用程式(如microsoft word),並在該應用程式中對這個對象進行處理。被嵌入的對象是來自伺服器應用程式的對象的一個副本。對象一旦位於容器中,它將不再被連結到來源物件。
  在vc++應用程式中用ole方式嵌入mapinfo進程,需定義了一個mapinfo對象(dmapinfo類),dmapinfo類在mapinfo類型庫(mapinfow.tlb)中定義。mapinfo軟體提供了自己的程式設計語言mapbasic, vc++對地圖進程的操作主要通過發送mapbasic命令來實現。
  二、 建立程式架構
  程式架構是用mfc實現的,mfc 應用程式嚮導(appwizard)產生了大部分的代碼,然後加入mapinfo進程。步驟如下:
  1. 建立一個新項目,項目類型選擇mfc appwizard(exe),項目名稱設為mapapp,其它按照提示進行設定即可。應用程式嚮導自動產生了三個類:         cmapappapp 應用程式類
   cmapappdoc 文檔類
   cmapappview 視圖類
   cmainframe 主架構類
  2. 添加mapinfo類型庫
  運行類嚮導,單擊增加類按鈕(add class …),選擇“from a type library”,找到“mapinfow.tlb”檔案並開啟,在“confirm classes”中選擇“dmapinfo”類,單擊ok確認輸入並關閉對話方塊。現在mapapp應用程式中已添加了dmapinfo類,並增加了/"mapinfow.h/"和/"mapinfow.cpp/"兩個源檔案。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.