簡介 IMapControl介面最重要的是包含IMap屬性,還提供另外的屬性用於:管理一般的外觀顯示,管理圖層,載入地圖文檔以及跟蹤在界面上顯示的圖形。 小知識點:一般一個介面的最新實現是 Default ,如果又多個實現,是通過數字區分,數字越大,其版本也越新。 屬性介紹 1. IActiveVi ...
簡介
IMapControl介面最重要的是包含IMap屬性,還提供另外的屬性用於:管理一般的外觀顯示,管理圖層,載入地圖文檔以及跟蹤在界面上顯示的圖形。
小知識點:一般一個介面的最新實現是 Default ,如果又多個實現,是通過數字區分,數字越大,其版本也越新。**
屬性介紹
1. IActiveView
- 這個屬性介面主要是用於管理應用程式的視圖以及繪圖的操作。IPageLayout和IMap實現了這個介面,這兩個介面分別代表ArcMap中的兩個視圖。當需要使用IMap視圖時,可以使用IMxDocument.FocusMap,另外一個則是使用IMxDocument.PageLayout來獲取。
- ArcMap中就只能有一個激活的視圖,那麼IMxDocument.ActiveView就是當前激活的視圖。
- ShowRulers ShowScrollBars ShowSelection
既然IActiveView能夠管理地圖的繪圖操作,那麼應該設置幾個屬性對此進行操作,這三個屬性分別用於顯示標尺 滾動條 選擇集。 - ISelection
這個屬性用於操作選擇集
2.Extent 和 FullExtent
- Extent屬於IEnvelope介面(實現Geometry介面),該屬性表示當前地圖的視圖範圍。FullExtent表示的是Map的視圖。
- IEnvelope是一個矩形框,至少有四個坐標屬性,XMin,XMax,YMin,YMax,CenterAt方法就是根據坐標點來進行操作的。
- 既然是一個矩形框,那麼就可以對這個矩形框的大小進行調整,也可以通過計算和另外一個矩形框的交集、並集來獲取一個新的矩形框元素。
方法介紹
IMapControlDefault的方法主要是用於管理圖層的,例如AddLayer 、DeleteLayer,還有便是在控制項上進行繪製,除此之外,介紹幾個我認為比較重要的方法。
1. AddLayerFromFile 和 AddShapeFile
這是兩個用於添加數據的方法。這裡可以引申出一個思考,為什麼需要不同的方法來進行數據的添加?這是因為在ArcMap中存在很多數據格式,不同的數據格式存儲的方法是不一樣的,因此也需要用不同的方法來打開。
2. DrawShape
IMapControl除了管理圖層和數據之外,還有的功能便是進行繪製操作管理,在地圖上繪製圖形就是使用這個方法。
3. FromMapPoint ToMapPoint
- ToMapPoint為將圖形設備坐標表示的一個點(X,Y)轉換為地圖上的一個點對象
FromMapPoint為將地圖上的點轉換為圖形設備坐標。
4. TrackPolygon TrackLine TrackLine
當我們需要跟蹤在地圖 上所畫的圖形時,可以使用這幾個方法。