PIE SDK向量透明度、標註控制
阿新 • • 發佈:2018-12-24
1. 功能簡介
透明度和標註是向量圖層的相關屬性;圖層透明值是0-100間的整數,標註是顯示在地圖上的文字資訊,它是出圖中不可或缺的重要元素。標註的樣式豐富,並且放置位置靈活。
2. 功能實現說明
2.1 實現思路及原理說明
向量透明值 |
|
第一步 |
獲取圖層的Render |
第二步 |
修改Render的透明值屬性 |
第三步 |
觸發渲染改變事件 |
向量標註 |
|
第一步 |
設定圖層顯示標註屬性為True |
第二步 |
設定標註欄位 |
第三步 |
觸發渲染改變事件 |
2.2 核心介面與方法
向量透明值 |
||
介面/類 |
方法 |
說明 |
Carto. IFeatureRender |
Transparency |
透明值,0~100之間整數 |
向量標註 |
||
Carto. IFeatureLayer |
DisplayAnnotation |
圖層是否顯示註記 |
AnnoProperties |
圖層註記屬性 |
2.3 示例程式碼
專案路徑 |
百度雲盤地址下/PIE示例程式/07圖層渲染/05.向量透明和標註 |
資料路徑 |
百度雲盤地址下/PIE示例資料/向量資料/Shape |
視訊路徑 |
百度雲盤地址下/PIE視訊教程/07圖層渲染/05.向量透明和標註.avi |
示例程式碼 |
|
1 方法(一) 2 if (mapControlMain.ActiveView.CurrentLayer == null) return; 3 IFeatureLayer featureLayer = mapControlMain.ActiveView.CurrentLayer as IFeatureLayer; 4 if (featureLayer == null) return; 5 FormTransparent frm = new FormTransparent(featureLayer);//通過窗體去設定透明值和標註欄位 6 frm.ShowDialog(); 7 if (frm.DialogResult == DialogResult.OK) 8 { 9 //設定透明度 10 int value=frm.TransparentValue;//透明值 11 string fieldName=frm.FieldName;//標註欄位 12 13 //*******透明值設定******** 14 //透明值,0-100間的整數 15 if (value > 100 || value < 0) 16 return; 17 if (featureLayer.Render == null) 18 return; 19 //設定透明值 20 featureLayer.Render.Transparency = value; 21 22 //*******標註設定******** 23 //判斷是否為空、是否包含該欄位 24 if (fieldName == "" || featureLayer.FeatureClass.GetFields().GetFieldIndex(fieldName) == -1) 25 return; 26 //是否顯示標註 27 if (!featureLayer.DisplayAnnotation) 28 { 29 featureLayer.DisplayAnnotation = true; 30 } 31 featureLayer.AnnoProperties.AnnoField = fieldName; 32 featureLayer.RaiseRenderChanged(); mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll); 33 }View Code |