程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 在C#中應用MapObjects(圖層標注)

在C#中應用MapObjects(圖層標注)

編輯:.NET實例教程

在C#中應用MapObjects(圖層標注) 
摘要:MapObjects CSharp .Net 

作者:楊雨田 [email protected] 



在MO中自動標注需要利用LabelRenderer對象,一般標注過程中需要設置一個合適的字體,下面給出我實現的代碼。 



實現代碼: 

//針對點圖層效果良好 

//獲取需要標注的圖層 

MapObjects2.MapLayer lyr = (MapObjects2.MapLayer)axMap1.Layers.Item(0);//我使用的是世界地圖,0層為城市 

MapObjects2.LabelRenderer lb = new MapObjects2.LabelRendererClass();//創建標注對象 

lb.FIEld = "Name";//自動標注來源的字段。我在地圖中加入的圖層是ESRI SharpFiles 格式,這個‘name’是dbf文件中的字段名 

MapObjects2.TextSymbol sym = lb.get_Symbol(0);//定義sym用來設置字體 

sym.Font.Name = "宋體";//設置字體 

sym.Font.Bold = false;//粗體顯示 

sym.Color = (uint)MapObjects2.ColorConstants.moRed;//設置標注文字顏色 

sym.Font.Size = 10;// ※設置字體大小 

//sym.Height = 5000; 

lb.AllowDuplicates = true;//允許重復 

lyr.Renderer = lb;//將設置好的標注給當前圖層 



上面的方法設置的字體不會隨著地圖的放大縮小而改變字體大小,實用性較高。當然我們也可以設置隨地圖放大縮小的標注,方法是注銷上面的代碼sym.Font.Size = 10;// ※設置字體大小 

並取消下面的代碼 

//sym.Height = 5000; 

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