当前位置: 首页 > news >正文

海口网络平台网站开发优化营商环境

海口网络平台网站开发,优化营商环境,专业软件开发培训机构,大连网站建设怎么做一、要实现的效果 废话不多说#xff0c;这次要实现的是类似控规指标块的标注#xff1a; 这里只是示例#xff0c;用了5个格子#xff0c;做成9个格子也是可以的。 实现这个效果最关键的是要用到Pro中的复合标注。 关于复合标注的用法可以搜一下帮助里的【使用复合注释…一、要实现的效果 废话不多说这次要实现的是类似控规指标块的标注 这里只是示例用了5个格子做成9个格子也是可以的。 实现这个效果最关键的是要用到Pro中的复合标注。 关于复合标注的用法可以搜一下帮助里的【使用复合注释的标注】 这里要介绍的是如何在SDK实现复合标注的功能。 二、实现思路 1、获取标注类CIMLabelClass 常规操作获取图层——图层定义——标注类。 // 获取图层 FeatureLayer featureLayer MapView.Active.GetSelectedLayers().FirstOrDefault() as FeatureLayer; // 获取图层定义 CIMFeatureLayer lyrDefn featureLayer.GetDefinition() as CIMFeatureLayer;// 获取标注 var listLabelClasses lyrDefn.LabelClasses.ToList(); CIMLabelClass theLabelClass listLabelClasses.FirstOrDefault(); 2、修改标注表达式 将标注语言修改为Arcade这里官方推荐用Arcade我也就用它了。 按照帮助里的写法根据图层的字段修改一下表达式。 // 设置标注语言为Arcade theLabelClass.ExpressionEngine LabelExpressionEngine.Arcade; // 设置标注内容 string code PART position\top\${$feature.DLMC}/PARTPART position\left\${$feature.DLBM}/PARTPART position\middle\${$feature.TBBH}/PARTPART position\right\${$feature.ZLDWMC}/PARTPART position\bottom\${$feature.QSXZ}/PART;theLabelClass.Expression code; 这里实际上是复制了在Pro里的手动操作对应的在Pro里的操作步骤如下 3、设置标注符号 首先获取图层自身的标注符号然后在这个基础上进行修改。 // 创建一个标注符号CIMTextSymbol CIMTextSymbol textSymbol theLabelClass.TextSymbol.Symbol as CIMTextSymbol; 设置文本的前后缩进不然文字会挤在一起不美观。 // 设置文本前后缩进 textSymbol.IndentAfter 5; textSymbol.IndentBefore 5; 以上都是常规设置下面是最重要的复合标注的设置。 新建一个注释类CIMCompositeCallout。 // 创建一个CIMCompositeCallout CIMCompositeCallout ccs new CIMCompositeCallout(); 给它创建一个背景符号设置背景颜色、形式、边框颜色等并应用。  // 创建一个面符号CIMPolygonSymbol CIMPolygonSymbol polySymbol SymbolFactory.Instance.ConstructPolygonSymbol(ColorFactory.Instance.CreateRGBColor(170, 241, 247, 50), SimpleFillStyle.Solid); // 设置边框线颜色 polySymbol.SetOutlineColor(ColorFactory.Instance.CreateRGBColor(0, 0, 255, 80));// 应用面符号 ccs.BackgroundSymbol polySymbol; 默认的边框拐角挺碍眼给它取消掉。 // 拐角半径 ccs.CornerRadius 0; 文字的边距也设置下这个随意美观为主。 // 边距 ccs.Margin new CIMTextMargin() {Left 2, Top 2, Right 2, Bottom 2 }; 对应的Pro操作如下 下一步是对复合标注各个位置属性的设置。 示例里用到了5个格子所以只设置【top、left、middle、right、bottom】5个部件就行了。 // 设置各部分属性 CIMCompositeTextPartPosition top new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Bottom,HorizontalAlignment HorizontalAlignment.Center, }; CIMCompositeTextPartPosition left new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Center,HorizontalAlignment HorizontalAlignment.Right, }; CIMCompositeTextPartPosition middle new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Center, }; CIMCompositeTextPartPosition right new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Center,HorizontalAlignment HorizontalAlignment.Left, }; CIMCompositeTextPartPosition bottom new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Top, };ccs.Top top; ccs.Left left; ccs.Middle middle; ccs.Right right; ccs.Bottom bottom; 这里设置的主要内容是在标注框内包含元素水平和垂直对齐。 其实还可以设置XY偏移等内容看需要吧。 对应的Pro操作如下 最后应用标注给图层就行了。 // 应用标注符号 textSymbol.Callout ccs;// 应用标注设置 lyrDefn.LabelClasses[0] theLabelClass; // 假设只有一个标注类别// 应用标注 featureLayer.SetDefinition(lyrDefn);// 打开标注 if (!featureLayer.IsLabelVisible) { featureLayer.SetLabelVisibility(true); } 三、完整代码 // 获取图层 FeatureLayer featureLayer MapView.Active.GetSelectedLayers().FirstOrDefault() as FeatureLayer; // 获取图层定义 CIMFeatureLayer lyrDefn featureLayer.GetDefinition() as CIMFeatureLayer;// 获取标注 var listLabelClasses lyrDefn.LabelClasses.ToList(); CIMLabelClass theLabelClass listLabelClasses.FirstOrDefault();// 设置标注语言为Arcade theLabelClass.ExpressionEngine LabelExpressionEngine.Arcade; // 设置标注内容 string code PART position\top\${$feature.DLMC}/PARTPART position\left\${$feature.DLBM}/PARTPART position\middle\${$feature.TBBH}/PARTPART position\right\${$feature.ZLDWMC}/PARTPART position\bottom\${$feature.QSXZ}/PART;theLabelClass.Expression code;// 创建一个标注符号CIMTextSymbol CIMTextSymbol textSymbol theLabelClass.TextSymbol.Symbol as CIMTextSymbol; // 设置文本前后缩进 textSymbol.IndentAfter 5; textSymbol.IndentBefore 5;// 创建一个CIMCompositeCallout CIMCompositeCallout ccs new CIMCompositeCallout();// 创建一个面符号CIMPolygonSymbol CIMPolygonSymbol polySymbol SymbolFactory.Instance.ConstructPolygonSymbol(ColorFactory.Instance.CreateRGBColor(170, 241, 247, 50), SimpleFillStyle.Solid); // 设置边框线颜色 polySymbol.SetOutlineColor(ColorFactory.Instance.CreateRGBColor(0, 0, 255, 80));// 应用面符号 ccs.BackgroundSymbol polySymbol; // 拐角半径 ccs.CornerRadius 0; // 边距 ccs.Margin new CIMTextMargin() {Left 2,Top 2,Right 2,Bottom 2 };// 设置各部分属性 CIMCompositeTextPartPosition top new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Bottom,HorizontalAlignment HorizontalAlignment.Center, }; CIMCompositeTextPartPosition left new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Center,HorizontalAlignment HorizontalAlignment.Right, }; CIMCompositeTextPartPosition middle new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Center, }; CIMCompositeTextPartPosition right new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Center,HorizontalAlignment HorizontalAlignment.Left, }; CIMCompositeTextPartPosition bottom new CIMCompositeTextPartPosition() {IsPartWithinCalloutBox true,VerticalAlignment VerticalAlignment.Top, };ccs.Top top; ccs.Left left; ccs.Middle middle; ccs.Right right; ccs.Bottom bottom;// 应用标注符号 textSymbol.Callout ccs;// 应用标注设置 lyrDefn.LabelClasses[0] theLabelClass; // 假设只有一个标注类别// 应用标注 featureLayer.SetDefinition(lyrDefn);// 打开标注 if (!featureLayer.IsLabelVisible) { featureLayer.SetLabelVisibility(true); }
http://www.zqtcl.cn/news/168420/

相关文章:

  • 个人做营利性质网站会怎么样如何引用网站上的资料做文献
  • 新网站制作市场泰安做网站哪家好
  • 常熟苏州网站建设flash如何制作网站
  • 电商网站都是用什么做的网站服务器维护方案
  • 简述企业网站建设的流程手机怎么自己做网页
  • 网站备案信息管理呼图壁网站建设
  • 网站建设学习资料开发一套软件需要多少钱
  • 大庆网站设计衡阳seo网站推广
  • 基层科普网站建设的现状自己做的网站怎样链接数据库
  • 网站建设工程师的职位要求化妆品行业网站开发
  • 做海报有什么素材网站知乎什么样的蓝色做网站做好看
  • 餐饮网站建设网站wordpress优酷视频插件下载
  • 什么网站做广告效果好wordpress中文cms
  • seo与网站优化广州洲聚网站开发
  • 建一个自己用的网站要多少钱北京网站建设价格天
  • 免费做婚礼邀请函的网站如何设定旅游网站seo核心关键词
  • 网上做问卷调查赚钱哪些网站好全flash网站制作
  • 个人网站备案核验单填写wordpress登录安全插件下载
  • 拖拽做网站cms系统设计
  • 村建站什么部门网站建设步骤图
  • 移动端网站建设的意义中工信融网站建设
  • 网站设计宽屏尺寸盐城网站建设渠道合作
  • 网站所有者查询hexo做网站
  • 杭州专业网站设计策划大数据网站建设和
  • 建一个自己的网站需要多少钱泰州网站快速排名优化
  • 企业网站的建设企业湖南网络推广
  • 山西省建设厅投诉网站郴州新网交友手机版
  • 营销网站建设是什么flash个人网站欣赏
  • 网站建设最简单的教程视频教程建设厅注册中心网站首页
  • 免费做网站凡科wordpress 分享到微信 插件