首页 > 开发 > 综合 > 正文

在C#中应用MapObjects(图层标注)

2024-07-21 02:19:09
字体:
来源:转载
供稿:网友
在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;

的注释。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表