国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C#進(jìn)行MapX二次開發(fā)之MapX基礎(chǔ)知識(shí)

MapX的主要技術(shù)特點(diǎn)
(1)、 以表(Table)的形式組織信息
每一個(gè)表都是一組MapInfo文件,這些文件組成了地圖文件和數(shù)據(jù)庫(kù)文件。為使用MapInfo,就需要有組成表的用戶數(shù)據(jù)和地圖文件。這些文件可以來自MapInfo或者由用戶創(chuàng)建。用戶要想在MapInfo中工作,就必須打開一個(gè)或多個(gè)表。
MapInfo通過表的形式將數(shù)據(jù)與地圖有機(jī)地結(jié)合在一起。當(dāng)用戶在MapInfo中打開數(shù)據(jù)文件時(shí),MapInfo將創(chuàng)建一個(gè)表。這個(gè)表至少由兩個(gè)獨(dú)立的文件組成,一個(gè)是包含數(shù)據(jù)結(jié)構(gòu)的文件,另一個(gè)是包含原始數(shù)據(jù)的文件。一個(gè)典型的MapInfo表將主要由*.tab、*.dat、*.wks、*.dbf、*.xls、*.map、*.id、*.ind文件格式組成。
(2)、 圖形對(duì)象
MapInfo內(nèi)置的數(shù)據(jù)庫(kù)管理系統(tǒng)是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),也是用二維表組織數(shù)據(jù)。與其它關(guān)系型數(shù)據(jù)庫(kù)不同的是表結(jié)構(gòu)中除可包含常用類型的屬性列外,還引入一個(gè)圖形對(duì)象列(OBJ列),用于存儲(chǔ)圖形對(duì)象(如線、區(qū)域等)。MapInfo提供許多圖形對(duì)象的操作接口,利用這些接口可以生成和處理所需要的各種圖形。
(3)、 地圖圖層化
MapInfo是按圖層組織計(jì)算機(jī)地圖的。也就是說,將一幅計(jì)算機(jī)地圖加工成多個(gè)層層疊加的透明層,這個(gè)透明層就稱為圖層。每個(gè)圖層包含了整個(gè)地圖的一個(gè)不同方面。例如,第一個(gè)圖層包含省邊界,第二個(gè)圖層表示省府的符號(hào),第三個(gè)圖層由標(biāo)注文本組成,把它們層層疊加就形成一幅完整的地圖。在創(chuàng)建每一個(gè)圖層時(shí),都要為其建立一張表,MapInfo就是通過這種方式使表與地圖之間建立了聯(lián)系。
也就是說,MapInfo是以表的形式來進(jìn)行管理的,每個(gè)表一般包含兩部份:地圖部分和數(shù)據(jù)庫(kù)(屬性)部份。
(4)、 專題地圖
提供多種數(shù)據(jù)可視化的專題地圖,能將數(shù)據(jù)庫(kù)中的信息進(jìn)行直觀的可視化分析。使用專題渲染在地圖上顯示數(shù)據(jù)時(shí),可以清楚地看出在數(shù)據(jù)記錄中難以發(fā)現(xiàn)的模式或趨勢(shì),為用戶的決策提供依據(jù)。專題地圖包括范圍值、點(diǎn)密度、柱狀圖、等級(jí)符號(hào)、餅圖和獨(dú)立值六種形式。
(5)、 內(nèi)置ODBC
MapInfo內(nèi)置ODBC,支持各種關(guān)系型數(shù)據(jù)庫(kù),支持SQL查詢,從而保證了對(duì)原有數(shù)據(jù)庫(kù)的沿用和對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)地訪問。具備空間查詢的功能擴(kuò)展(如緩沖區(qū)、疊加等),采用數(shù)據(jù)倉(cāng)庫(kù)的最新技術(shù)OLAP(Online Analytical Processing)的聯(lián)機(jī)事物處理,對(duì)于應(yīng)用程序?qū)崿F(xiàn)圖形查詢和表查詢提供了強(qiáng)大的手段。
(6)、 支持多種數(shù)據(jù)格式及其轉(zhuǎn)換
MapInfo既支持?jǐn)?shù)字化儀的圖形輸入方式,直接生成矢量圖,也支持目前市場(chǎng)上流行的圖形圖象格式??山邮蹵utoCAD的DWG、DXF標(biāo)準(zhǔn)文件格式,還可通過MIF及MID文件與其它軟件建立數(shù)據(jù)的接口。其中MIF文件內(nèi)保存有圖形信息,MID文件內(nèi)保存有圖形的屬性信息。MIF及MID文件通過MapInfo的菜單命令I(lǐng)mport和Export來輸入和產(chǎn)生。
(7)、 二次開發(fā)工具M(jìn)apBasic
作為一個(gè)系統(tǒng)軟件,MapInfo提供了可以將其所有的功能用程序來驅(qū)動(dòng)的方法,內(nèi)置標(biāo)準(zhǔn)的二次開發(fā)工具——MapBasic。MapBasic不僅與大眾化的Basic語(yǔ)法相一致,具有基本一致的常用函數(shù)集(計(jì)算、字符串處理、文件I/O、DLL調(diào)用等),而且利用MapBasic語(yǔ)言所提供的函數(shù)、過程和語(yǔ)句命令可以完成許多有關(guān)圖形對(duì)象管理的復(fù)雜操作和運(yùn)算。它的真正優(yōu)勢(shì)在于對(duì)MapInfo中的Table及其圖形對(duì)象的管理所提供的特性和強(qiáng)大功能。采用面向?qū)ο蠹笆录?qū)動(dòng)編程
(8)、 集成二次開發(fā)能力
具有OLE和OLE Automation功能,可以方便地使用Delphi、VB、VC等多種開發(fā)工具,保證了新的應(yīng)用程序與原有的應(yīng)用界面保持一致,為日后的深層開發(fā)提供一個(gè)擴(kuò)展空間。

MapX的組件模型結(jié)構(gòu)

MapX組件的基本組成單元是Object(單個(gè)對(duì)象)和Collection(集合)。其中集合包括對(duì)象,是多個(gè)對(duì)象的組合。每種對(duì)象和集合負(fù)責(zé)處理地圖某一方面的功能。
由圖4.4可以看出,位于頂層的是Map對(duì)象本身,其它均由Map對(duì)象繼承。Layers、DataSets、Annotations是Map對(duì)象下面的三個(gè)重要的分支。其中Layer主要用于操作地圖的圖層,DataSet用于訪問空間數(shù)據(jù)表,Annotation用于在地圖上增加文本或者符號(hào)。


每個(gè)Map對(duì)象主要包括Datasets、Layers、Annotations三個(gè)對(duì)象集合。
Map對(duì)象有一些主要的屬性,如Zoom用來設(shè)置放大級(jí)別(在地圖上顯示的大?。?,Rotation控制地圖的旋轉(zhuǎn)角度,CenterX和CenterY用于設(shè)置x和y的坐標(biāo)系,這要取決于地圖的投影。
Map對(duì)象的許多屬性本身又是一個(gè)對(duì)象,比如說一幅地圖由多個(gè)圖層組成,則在一個(gè)Map對(duì)象中存在一個(gè)單獨(dú)的layers集合,其中包含所有圖層的信息。
 Layers
在MapX中,每張單獨(dú)的地圖都被表示成單獨(dú)的一個(gè)圖層,所有的圖層存儲(chǔ)在layers集合中。Layers集合由Layer對(duì)象組成,按順序編號(hào)為0到n。Layer對(duì)象由features對(duì)象組成,features對(duì)象又是由Feature對(duì)象組成,對(duì)應(yīng)于地圖中的點(diǎn)、線、區(qū)域或符號(hào)。
最上面一層為L(zhǎng)ayers(1),Layers(2)位于Layers(1)的下面,以次類推。最下面的圖層最先繪制,最上面的圖層最后繪制。在應(yīng)用程序中,合理地安排好每層在Layers中的順序是至關(guān)重要的。比如說有兩個(gè)圖層,一層為點(diǎn),一層為區(qū)域,則應(yīng)將點(diǎn)層放到區(qū)域?qū)拥纳戏?,否則區(qū)域會(huì)將點(diǎn)覆蓋。
另外,在進(jìn)行地圖選擇操作時(shí),根據(jù)要求調(diào)整圖層的順序也是十分重要的。MapX中的選擇工具總是從可選擇圖層中的最上層開始選擇,如果在地圖上的同一位置存在多個(gè)位于不同層的地圖對(duì)象,其結(jié)果是很難精確地選擇到目標(biāo)對(duì)象。因此,最好將被選擇圖層提到最上層顯示。
 GeoSets
GeoSet是在GeoManager中建立好的.GST文件,類似MapInfo中的WorkSpace概念,是圖層及其設(shè)置的集合,控制程序中顯示的地圖。也可以在運(yùn)行階段設(shè)置GeoSet,此時(shí)將導(dǎo)致已經(jīng)加載的所有圖層和DataSet被刪除而由GeoSet中定義的圖層所代替。如果單純地想刪除所有圖層,只需給GeoSet賦一個(gè)空字符串即可。
可以使用GeoSet Manager程序來管理GeoSet 文件(*.GST)。默認(rèn)情況下.GST文件存儲(chǔ)在…\\mapx\maps目錄下,可以調(diào)用GeoDictionary Manager程序進(jìn)行修改,指向用戶程序數(shù)據(jù)所在的位置。
 Datasets
Datasets用于實(shí)現(xiàn)地圖與數(shù)據(jù)的綁定。舉例說明,有一個(gè)關(guān)于城市銷售情況的MSAccess 數(shù)據(jù)庫(kù)和一張?jiān)摮鞘械牡貓D,則可以將二者綁定,在地圖上形象地顯示出各城市銷售業(yè)績(jī)的趨勢(shì),這一點(diǎn)是表格數(shù)據(jù)無法做到的。
建立地圖信息與屬性數(shù)據(jù)之間聯(lián)系的過程稱之為自動(dòng)綁定或自動(dòng)匹配(autobinding /automatching)。要實(shí)現(xiàn)這一過程,必須首先將地圖在GeoDictionary 中注冊(cè)。
 屬性數(shù)據(jù)表示的可視化使得創(chuàng)建專題地圖成為可能。
數(shù)據(jù)綁定"Putting Your Data on the Map"
專題地圖"Theme Mapping and Analysis"
 Annotations
Annotations集合提供了操縱地圖中文字和符號(hào)的簡(jiǎn)單方法。Annotations位于所有其它圖層的上方并且不與任何數(shù)據(jù)連接,有點(diǎn)兒象MapInfo中的透明圖層。
Annotations包括以下主要的屬性與方法:AddSymbol在Annotations中增加符號(hào),符號(hào)類型使用Map.DefaultStyle定義;AddText在Annotations中增加文本;Remove刪除特定的標(biāo)注.;Type取值為miSymbolAnnotation或miTextAnnotation。
  Annotations還有一個(gè)非常重要的屬性Graphic,其定義為Graphic對(duì)象,在該對(duì)象中包含了符號(hào)或文本的樣式、位置等信息,即Graphic的Caption、Position、Style 、X、Y屬性。如Annotations的Type屬性定義為miTextAnnotation,則可以定義Graphic的Caption屬性設(shè)置標(biāo)注的字符串。
 可創(chuàng)建對(duì)象
在MapX對(duì)象模型中,以下對(duì)象是可以被創(chuàng)建的:
AffineTransform、BindLayer、BitmapSymbols、CoordSys、Datum、Feature、Fields、LayerInfo、Map、 ODBCQueryInfo、 Parts、Point、Points、Rectangle、RowValue、RowValues、Style、Variables、NotesQueryInfo、NotesViewInfo。

 

  專題地圖

1、 專題地圖的概念
  MapInfo的一個(gè)顯著特征就是能將數(shù)據(jù)庫(kù)中的信息進(jìn)行直觀的可視化分析。專題地圖就是用于分析和表現(xiàn)數(shù)據(jù)的一種強(qiáng)有力的方式。用戶可以通過使用專題地圖的方式將數(shù)據(jù)圖形化,使數(shù)據(jù)以更直觀的形式在地圖上體現(xiàn)出來。當(dāng)使用專題渲染在地圖上顯示數(shù)據(jù)時(shí),可以清楚地看出在數(shù)據(jù)記錄中難以發(fā)現(xiàn)的模式和趨勢(shì),為用戶的決策支持提供依據(jù)。專題地圖是MapInfo中的一個(gè)重要概念,是用戶使用好MapInfo的一種體現(xiàn)。
  制作專題地圖是根據(jù)某個(gè)特定專題對(duì)地圖進(jìn)行“渲染”的過程。所謂的專題渲染,就是以某種圖案或顏色填充來表明地圖對(duì)象(點(diǎn)、線、區(qū)域)的某些信息(例如人口、大小、年降雨量、日期等等),也就是說,這類渲染存在著主題,經(jīng)過這樣渲染的地圖就是專題地圖。利用MapInfo,可根據(jù)數(shù)據(jù)庫(kù)表中特定的值來賦給地圖對(duì)象顏色、圖案或符號(hào),從而創(chuàng)建不同的專題地圖。
  
2、 專題圖的六種類型
  MapInfo為創(chuàng)建專題地圖提供了強(qiáng)有力的支持。用戶可以使用范圍值、等級(jí)符號(hào)、點(diǎn)密度、獨(dú)立值、直方圖和餅圖等多達(dá)六種方式來創(chuàng)建不同的專題地圖。
  (1)、 范圍值
  按照設(shè)置的范圍顯示數(shù)據(jù)。這些范圍用顏色和圖案進(jìn)行渲染。范圍專題地圖能夠通過點(diǎn)、線和區(qū)域來說明數(shù)值,在反映數(shù)值和地理區(qū)域的關(guān)系(如銷售數(shù)字,家庭收入),或顯示比率信息如人口密度(人口除以面積)時(shí)是很有用的。
  (2)、 等級(jí)符號(hào)
  等級(jí)符號(hào)為表中每條記錄顯示一個(gè)符號(hào),符號(hào)大小與數(shù)據(jù)值成比例。等級(jí)符號(hào)地圖用特定的數(shù)值來顯示數(shù)據(jù)點(diǎn),對(duì)于闡明定量信息(如由高到低依次變化)很有用處。符號(hào)的大小與該點(diǎn)對(duì)應(yīng)的數(shù)值成比例,數(shù)值越大點(diǎn)就越大,數(shù)值越小點(diǎn)就越小。因此,等級(jí)符號(hào)最適合數(shù)據(jù)值數(shù)據(jù)。
 ?。?)、 點(diǎn)密度
  在地圖上用點(diǎn)來顯示數(shù)據(jù),每一點(diǎn)都代表一定數(shù)量,某區(qū)域中點(diǎn)的總數(shù)與該區(qū)域數(shù)值成比例。每個(gè)點(diǎn)代表一定數(shù)量的單元,該數(shù)乘以區(qū)域內(nèi)總的點(diǎn)數(shù),就等于該區(qū)域的數(shù)據(jù)值。
 ?。?)、 獨(dú)立值
  按獨(dú)立數(shù)值渲染地圖,可以表達(dá)多個(gè)變量。根據(jù)獨(dú)立值繪制地圖對(duì)象的專題地圖有助于強(qiáng)調(diào)數(shù)據(jù)的類型差異而不是顯示定量信息(如給定區(qū)域內(nèi)的商店類型、分區(qū)類型等等)。
 ?。?)、 直方圖
  將表中每條記錄的專題變量顯示為一個(gè)直方圖。使用直方圖可分析地圖中每條記錄的多個(gè)變量。比較每個(gè)直方圖中各直方條的大小可考察表中某條記錄,比較所有直方圖中某一條的大小可考察所有記錄的某個(gè)變量,而比較各直方圖的高度可考察整張表。用直方圖來表達(dá)負(fù)值時(shí),該條會(huì)沿直方圖反方向伸展。在疊加直方圖中不顯示負(fù)值。
  (6)、 餅圖
  以餅圖顯示表中各記錄的專題變量。餅圖可包含多個(gè)變量。在地圖上使用餅圖可一次分析多個(gè)變量,比較每個(gè)圖中餅扇的大小可考察表中某條記錄,比較所有餅圖中某一個(gè)餅扇,可考察所有記錄中某個(gè)變量的變化,比較各餅圖的直徑可考察整張表。

3、 MapX對(duì)專題圖的支持
  MapX中使用Themes集合與Theme對(duì)象來實(shí)現(xiàn)對(duì)專題圖的支持,每個(gè)Themes集合中可以包含多個(gè)Theme對(duì)象,也就是說,針對(duì)一個(gè)Dataset,可以創(chuàng)建多幅不同的專題地圖。
  每個(gè)Dataset都擁有一個(gè)Themes集合,并以其屬性的形式存在,即Dataset.Themes。使用Themes的Add、Remove、RemoveAll等方法可以控制專題的添加和刪除。
  a) Add方法:創(chuàng)建一個(gè)專題并將其加入到某個(gè)特定的DataSet的Themes集合中,
  b) Remove方法:從集合中刪除某一特定的專題圖
  c) RemoveAll方法:從集合中刪除所有的的專題圖

  Theme對(duì)象用于設(shè)置每個(gè)專題圖的屬性。
  比較重要的有
  a) Layer:返回一個(gè)Layer對(duì)象,表示該專題圖所在的圖層
  b) Legend:控制 對(duì)專題地圖的說明,即圖例
  c) ComputeTheme 控制是否可以對(duì)原始數(shù)據(jù)進(jìn)行計(jì)算,默認(rèn)為True
  d) Type 即專題圖類型,取值范圍為ThemeTypeConstants
  e) Fields 只讀屬性,返回該專題圖所基于的Dataset中的字段集合
  ThemeProperties 復(fù)合型屬性,對(duì)應(yīng)ThemeProperties對(duì)象,包含了專題圖詳盡的定義信息,如范圍定義、顯示風(fēng)格設(shè)置等。

4、 專題圖的規(guī)劃
  在創(chuàng)建專題圖的過程中,有幾個(gè)關(guān)鍵因素,包括專題圖變量的確定、屬性數(shù)據(jù)的獲取以及專題圖層的顯示與控制。
  (1)、 確定專題圖變量
  在專題圖中顯示的數(shù)據(jù)就是專題圖變量。例如在行政區(qū)面積專題圖中,表示面積的字段“area”就是這個(gè)專題地圖的專題地圖變量。
  一個(gè)專題變量可以是一個(gè)字段或表達(dá)式。取決于專題圖的類型,在一張地圖上可以顯示一個(gè)或多個(gè)專題圖變量。范圍值、等級(jí)符號(hào)、點(diǎn)密度和獨(dú)立值地圖都只檢查一個(gè)變量??梢岳蔑瀳D或直方圖一次顯示多個(gè)專題變量。也可以創(chuàng)建雙變量專題地圖,其中一個(gè)地圖對(duì)象可代表兩個(gè)不同的數(shù)據(jù),入符號(hào)的顏色代表一個(gè)專題變量,符號(hào)的大小代表另一個(gè)專題變量。
 ?。?)、 屬性數(shù)據(jù)的獲取
  在創(chuàng)建專題地圖之前,必須確定需要顯示何種信息,信息存儲(chǔ)在什么位置。它可以在創(chuàng)建地圖時(shí)所基于的表中,也可以在ODBC支持的外部數(shù)據(jù)庫(kù)中。數(shù)據(jù)來源于Field對(duì)象或Field集合,在Themes.Add方法中通過Fields參數(shù)傳遞。
 ?。?)、 創(chuàng)建專題圖
  首先應(yīng)將某個(gè)產(chǎn)生專題圖數(shù)據(jù)的dataset引入地圖中,之后使用Themes.Add方法創(chuàng)建一個(gè)Theme對(duì)象。
  curmap.Datasets[1].Themes.Add(miThemeRanges,"TotPop","");
  語(yǔ)法: Themes.Add([Type], [Field], [Name]);
  Type用于定義要?jiǎng)?chuàng)建的專題圖的類型,它的取值范圍是ThemeTypeConstants,該參數(shù)可選,如果沒有定義或者定義為miThemeAuto,MapX會(huì)根據(jù)字段數(shù)以及已經(jīng)存在的專題圖類型自動(dòng)在ThemeTypeConstants中選擇一個(gè)。如果MapX無法自行確定專題類型,就會(huì)產(chǎn)生一個(gè)錯(cuò)誤。
Field(s)定義在專題圖中使用的一個(gè)或多個(gè)字段,可以通過字段名、字段索引或字段對(duì)象來引用。當(dāng)創(chuàng)建多變量專題圖時(shí),可以使用數(shù)組表示。該字段是可選的,若不特意指定,MapX會(huì)使用DataSet中的第一個(gè)數(shù)字型字段。
  Name,即專題圖的名稱,String類型參數(shù),若不指定,MapX會(huì)自動(dòng)生成一個(gè)名字。
 ?。?)、 專題圖類型常量
  專題圖變量由Theme.Typeproperty取得,其定義如下:
     miThemeRanged = 0
     miThemeBarChart = 1
     miThemePieChart = 2
     miTheme GradSymbol = 3
     miThemeDotDensity = 4
     miThemeIndividualValue = 5
     miThemeAuto = 6
     miThemeNone = 9

5、 控制專題地圖
  有兩種方法可以控制專題地圖。
 ?。?)、 使用Theme.ThemeDlg方法
  該方法顯示一個(gè)對(duì)話框,用戶可以直接修改專題圖特性。語(yǔ)句如下:
    curmap.Datasets[1].Themes[1].ThemeDlg;
  這種方法雖然簡(jiǎn)單,但是而且很難與自己的程序風(fēng)格相一致,用戶界面不友好,而且在這個(gè)默認(rèn)的對(duì)話框中,用戶可以隨意改變?nèi)魏卧O(shè)置,使得程序的控制難度加大。
 ?。?)、 改變ThemeProperties對(duì)象屬性
  通過設(shè)置ThemeProperties對(duì)象屬性,可以使用自己定制的界面,給用戶有限的修改能力,實(shí)現(xiàn)起來也非常簡(jiǎn)單,而且對(duì)用戶的操作有全部的控制權(quán)。
  ThemeProperties對(duì)象是Themes集合中的一員,主要用于定義專題地圖的顯示,包括顏色、符號(hào)等。不同類型的專題圖有自己與眾不同的一些特性,在ThemeProperties中有其分別的定義。如DotSize專用于設(shè)定點(diǎn)密度專題圖中點(diǎn)的大小,NumRanges專用于設(shè)定范圍值專題圖中的范圍分布,SymbolStyle控制等級(jí)符號(hào)專題圖使用的符號(hào)類型,ValuePerDot用于在點(diǎn)密度專題圖中每個(gè)點(diǎn)所代表的值。
  ThemeProperties對(duì)象的屬性中有許多又屬于其他對(duì)象,如RangeCategory、IndividualValue、Style 等,可進(jìn)行更深層次的設(shè)定。
  6、 自定義圖例
  專題地圖被創(chuàng)建后,MapX會(huì)自動(dòng)生成一個(gè)圖例來解釋顏色、符號(hào)或大小所代表的含義。同ThemeDlg一樣,可以直接用LegendDlg 方法調(diào)用默認(rèn)的Legend對(duì)話框,但更常用的依舊是訪問Theme.Legend 屬性來進(jìn)行一些個(gè)性化的設(shè)置。

 

基礎(chǔ)使用代碼介紹

在MapX中,提供了標(biāo)準(zhǔn)的地圖工具,可以很容易地利用常用的標(biāo)準(zhǔn)工具開發(fā)出方便易用的地理信息系統(tǒng),而不必針對(duì)每一種地圖操作都完全靠開發(fā)者自已編程。MapX內(nèi)置了常用的標(biāo)準(zhǔn)地圖工具,主要分為兩類:一是對(duì)象創(chuàng)建工具,用來創(chuàng)建地圖圖元;另一類是選擇工具。在選擇工具的使用時(shí),可以配合功能鍵Shift和Ctrl鍵。它們包括:
  (1)改變地圖比例尺和地圖導(dǎo)航的工具:放大工具、縮小工具、平移工具和居中工具。
  (2)通過單擊地圖圖元進(jìn)行標(biāo)注的標(biāo)注工具。
  (3)以不同方式選擇地圖圖元的選擇工具集合。具體開發(fā)方法是:在程序適當(dāng)位置激活某一個(gè)標(biāo)準(zhǔn)工具,把CurrentTool屬性設(shè)為某一個(gè)常量,或直接用值。例如,在窗體中MapX控件為axMap1對(duì)象,當(dāng)需要放大工具時(shí):
  axMap1.CurrentTool = MapXLib.ToolConstants.miZoomInTool;
運(yùn)行程序就會(huì)看到此鼠標(biāo)光標(biāo)變?yōu)榱朔糯箸R。其他工具設(shè)定的方法與此相同。在具體實(shí)現(xiàn)中經(jīng)常會(huì)為用戶提供一些工具條,上面有地圖的標(biāo)準(zhǔn)操作工具,以方便用戶操作地圖,例如提供放大、縮小、平移和選擇這4種常用的工具按鈕,在按鈕的命令中可以編寫為:

 

//地圖放大工具
axMap1.CurrentTool = MapXLib.ToolConstants.miZoomInTool;

//地圖縮小工具
axMap1.CurrentTool = MapXLib.ToolConstants.miZoomOutTool;

//縮放到初始大小(全圖)、
axMap1.ZoomTo(this.MapZoom, this.CenterX, this.CenterY);

//地圖平移工具
axMap1.CurrentTool = MapXLib.ToolConstants.miPanTool;

//地圖選擇工具
axMap1.CurrentTool = MapXLib.ToolConstants.miSelectTool;

//矩形選擇
axMap1.CurrentTool = MapXLib.ToolConstants.miRectSelectTool; 

//圓形選擇
axMap1.CurrentTool = MapXLib.ToolConstants.miRadiusSelectTool; 

//打開圖層對(duì)話框 
axMap1.Layers.LayersDlg(nullnull);

//打開ActiveX屬性對(duì)話框 
axMap1.ShowPropertyPages();
axMap1.Refresh();

//添加符號(hào)
axMap1.CurrentTool = MapXLib.ToolConstants.miSymbolTool;

為了在地圖中創(chuàng)建新的圖元,或者修改已有的圖元,需要地圖編輯功能。MapX的標(biāo)準(zhǔn)工具提供了miAddPoint、ToolmiAddLine、ToolmiAddPolyLineTool、miAddRegionTool四種添加工具,分別屬于添加點(diǎn)、添加線、添加折線和添加區(qū)域工具。對(duì)于添加工具,MapX指定將添加的圖元放在Insertionlayer圖層中。
因此需要在添加的圖層前,先設(shè)定Insertionlayer圖層,并將其設(shè)為可編輯的。方法如下:

axMap1.Layers.LayersDlg(nullnull);                         // (1)
axMap1.Layers.InsertionLayer=axMap1.Layers[1];     //  (2)

其中(1)表示:打開圖層對(duì)話框,在圖層對(duì)話框中將當(dāng)前圖層設(shè)為可編輯;(2)表示:將Insertionlayer圖層設(shè)定為當(dāng)前層。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MapX中的專題圖分析
MapInfo教程
Mapx
【MapX教程之一】MapX地圖數(shù)據(jù)的組織結(jié)構(gòu)-MapX代理商
Mapinfo公司及產(chǎn)品介紹
MapX開發(fā)概述:MapX開發(fā)基礎(chǔ)教程(1)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服