程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行MapX二次開發之MapX基礎知識(2)

C#進行MapX二次開發之MapX基礎知識(2)

編輯:關於C語言
7)、二次開發工具MapBasic

作為一個系統軟件,MapInfo提供了可以將其所有的功能用程序來驅動的方法,內置標准的二次開發工具——MapBasic。MapBasic不僅與大眾化的Basic語法相一致,具有基本一致的常用函數集(計算、字符串處理、文件I/O、DLL調用等),而且利用MapBasic語言所提供的函數、過程和語句命令可以完成許多有關圖形對象管理的復雜操作和運算。它的真正優勢在於對MapInfo中的Table及其圖形對象的管理所提供的特性和強大功能。采用面向對象及事件驅動編程

(8)、集成二次開發能力

具有OLE和OLE Automation功能,可以方便地使用Delphi、VB、VC等多種開發工具,保證了新的應用程序與原有的應用界面保持一致,為日後的深層開發提供一個擴展空間。

MapX的組件模型結構

MapX組件的基本組成單元是Object(單個對象)和Collection(集合)。其中集合包括對象,是多個對象的組合。每種對象和集合負責處理地圖某一方面的功能。

由圖4.4可以看出,位於頂層的是Map對象本身,其它均由Map對象繼承。Layers、DataSets、Annotations是Map對象下面的三個重要的分支。其中Layer主要用於操作地圖的圖層,DataSet用於訪問空間數據表,Annotation用於在地圖上增加文本或者符號。

每個Map對象主要包括Datasets、Layers、Annotations三個對象集合。

Map對象有一些主要的屬性,如Zoom用來設置放大級別(在地圖上顯示的大小),Rotation控制地圖的旋轉角度,CenterX和CenterY用於設置x和y的坐標系,這要取決於地圖的投影。

Map對象的許多屬性本身又是一個對象,比如說一幅地圖由多個圖層組成,則在一個Map對象中存在一個單獨的layers集合,其中包含所有圖層的信息。

Layers

在MapX中,每張單獨的地圖都被表示成單獨的一個圖層,所有的圖層存儲在layers集合中。Layers集合由Layer對象組成,按順序編號為0到n。Layer對象由features對象組成,features對象又是由Feature對象組成,對應於地圖中的點、線、區域或符號。

最上面一層為Layers(1),Layers(2)位於Layers(1)的下面,以次類推。最下面的圖層最先繪制,最上面的圖層最後繪制。在應用程序中,合理地安排好每層在Layers中的順序是至關重要的。比如說有兩個圖層,一層為點,一層為區域,則應將點層放到區域層的上方,否則區域會將點覆蓋。

另外,在進行地圖選擇操作時,根據要求調整圖層的順序也是十分重要的。MapX中的選擇工具總是從可選擇圖層中的最上層開始選擇,如果在地圖上的同一位置存在多個位於不同層的地圖對象,其結果是很難精確地選擇到目標對象。因此,最好將被選擇圖層提到最上層顯示。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved