c# legend 显示位置_添加地图图例 Arcengine+C#
private void MakeLegend(IActiveView activeView,IPageLayout pageLayout)
{
//定义图例UID对象
UID uid = new UIDClass();
uid.Value="esriCore.Legend";
//设置图例存放的坐标位置
//定义单位
pageLayout.Page.Units = esriUnits.esriCentimeters;
//得到草图容器对象
IGraphicsContainer container = pageLayout as IGraphicsContainer;
//得到当前地图的框架
IMapFrame frameElement = container.FindFrame(activeView.FocusMap) as IMapFrame;
IElement mapElement = frameElement as IElement;
IEnvelope mapEnv = mapElement.Geometry.Envelope;
IEnvelope envelope = new EnvelopeClass();
//通过当前地图框架得到相对位置
envelope.PutCoords(mapEnv.XMin, mapEnv.YMin, mapEnv.XMin + 6.5, mapEnv.YMin + 0.8);
IMapSurroundFrame frame = frameElement.CreateSurroundFrame(uid, null);
ILegend legend = frame.MapSurround as ILegend;
ILegendFormat format = new LegendFormatClass();
format.TitlePosition = esriRectanglePosition.esriTopSide;
format.LayerNameGap=0.0;
format.TextGap=0.0;
format.TitleGap=0.0;
format.HeadingGap=0.0;
format.HorizontalItemGap=0.0;
format.VerticalItemGap=0.0;
format.ShowTitle=true;
ITextSymbol symbol = new TextSymbolClass();
symbol.Text="图例";
System.Drawing.Font ft = new System.Drawing.Font("宋体", 5);
IFontDisp iFontDispFromFont = (IFontDisp)OLE.GetIFontDispFromFont(ft);
symbol.Font=iFontDispFromFont;
symbol.Size = 11.5;
IRgbColor color = (IRgbColor)ESRI.ArcGIS.ADF.Converter.ToRGBColor(Color.Black);
symbol.Color = color;
//文字水平方向的对齐方式
symbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHACenter;
format.TitleSymbol=symbol;
legend.Format=format;
legend.Title="图例";
legend.FlowRight = true;
legend.ClearItems();
IMap map = activeView.FocusMap;
for (int i = 0; i < map.LayerCount; i++)
{
IFeatureLayer layer = (IFeatureLayer)map.get_Layer(i) as IFeatureLayer;
ILegendItem item = new HorizontalLegendItemClass();
item.Columns=(short)map.LayerCount;
item.NewColumn=true;
ITextSymbol symbolItem = new TextSymbolClass();
symbolItem.Size = 11.5;
ILegendClassFormat legClsFormat = new LegendClassFormatClass();
legClsFormat.LabelSymbol = symbolItem;
legClsFormat.PatchHeight = 40;
legClsFormat.PatchWidth = 50;
item.LegendClassFormat = legClsFormat;
item.Layer=layer;
item.KeepTogether=false;
legend.AddItem(item);
}
frame.MapSurround.Name="myLegend";
IFrameProperties properties = frame as IFrameProperties;
ISymbolBorder border = new SymbolBorderClass();
border.Gap=0.0;
border.CornerRounding=0;
IBorder border2 = border;
properties.Border=border2;
IFrameDecoration decoration = new SymbolBackgroundClass();
IRgbColor color1 = (IRgbColor)ESRI.ArcGIS.ADF.Converter.ToRGBColor(Color.LightSeaGreen);
color1.Transparency = 50;
decoration.Color = color1;
decoration.CornerRounding=0;
decoration.HorizontalSpacing=0.0;
decoration.VerticalSpacing=0.0;
properties.Background=((IBackground)decoration);
IElement element = frame as IElement;
element.Geometry=envelope;
element.Activate(activeView.ScreenDisplay);
container.AddElement(element, 0);
activeView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
}
c# legend 显示位置_添加地图图例 Arcengine+C#相关推荐
- c# legend 显示位置_C# charting中图例(legend)的问题。
展开全部 前台页面:(legend的字体及样式可以在属性窗口设置32313133353236313431303231363533e4b893e5b19e31333332613639) YAxisTyp ...
- 如何在label上显示字_如何地图上标注店面_新开的店铺要怎样上地图显示_怎么将公司标记在地图...
新开的店铺商铺商家商户企业工厂怎么标注地图位置?如何地图上标注店面_怎么将店铺标记在地图_新开的店铺要怎样上地图显示?还没有办好营业执照可以做?您可能会有很多地图疑问?请直接联系腾图通地图服务公司为您 ...
- 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...
[推荐阅读]资料下载QQ群:562718785(软件下载.精美PPT模板下载) [Excel视频教学]求和及快速求和 [Excel视频教学]跨表快速求和 [Excel视频教学]函数-相对绝对混合引用 ...
- android定位附近店铺,高德地图怎么添加店铺位置_高德地图定位怎么设置添加自己家店铺位置_攻略...
高德地图是国内最知名的地图导航软件,基本上每个人的手机上都有这款软件.如今想要方便出行都可以通过高得地图查询位置就可以了,给我们的生活带来了很多的便利.在高德地图上也可以很方便的查询各个地方的店铺,通 ...
- textedit实时显示位置_加什么地形就看什么等高线!等高线实时预览就是这么爽...
做规划.做设计.选场地.水文分析.玩户外,哪个都不离开等高线地图. 目前能找到的等高线地图(OpenCycleMap.Garmin矢量地图等)都不太好用:加载速度慢.渲染效果不太好.无法对地形进行渲染 ...
- 安卓开发 高德地图 marker 点击移动位置_高德地图AR导航功能上线 ~
作者:小A Date:2020-08-20 来源:AIRX社区微信公众号 高德地图近期发布新版本10.60,上线AR导航功能,目前该功能可以在部分安卓手机上可以体验到.AR技术能将虚拟与现实联通,从视 ...
- echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?
编者按 在日常开发中,通常说到优化.提高帧率时,总是会提到批量渲染.之前简单总结了静态合批(点此查看全文)以及动态合批(点此查看全文),这次作者将和大家聊聊实例化渲染. 作者:枸杞忧天 (本文内容由公 ...
- vue 高德地图 不同区域显示不同颜色_高德地图车机版4.0解析:看不见的升级才是重点...
近日,高德正式发布高德地图车机版(AMAP AUTO)4.0. 自2016年初高德地图车机版(AMAP AUTO)首次亮相后,此次正式推出的4.0版本,已经是该智能车载导航产品的第三次大升级. 在车云 ...
- vue点击定位到指定位置_百度地图vue-baidu-map自动定位,鼠标选点并进行逆解析,地区检索,使用案列以及解决方案...
店铺信息 size="large" placeholder="请输入店铺名称" v-decorator="['openShopData.shopNam ...
最新文章
- mysql基本命令总结_mysql 常用基本命令总结
- 解决pycharm问题:module ‘pip‘ has no attribute ‘main‘
- [文摘20090224]天干和地支
- python和excel的区别-Python与Excel 不得不说的事情
- 使用Formik轻松开发更高质量的React表单(二)使用指南
- Curator实现分布式锁的基本原理-InterProcessMutex.acquire
- php插入方法,有什么办法能把一条php语句插入到方法里呢?
- 技术影响力和开发者生态如何打造?
- 介绍几个flash游戏框架
- html5 成语连连看,全国通用五年级下册语文讲义-阅读与作文:学写读后感(含答案)[参考].pdf...
- CTP: 初始化成功和TradeAPI、MDAPI登陆成功
- 荒野行动为什么不能获取服务器信息,荒野行动获取服务器信息一直不动 服务器信息0解决方法...
- Python(三)微信公众号开发
- SGD和带momentum的SGD算法
- Mac电脑快速查找文件的两种方法
- 你需要TrustedInstaller提供的权限才能对此文件进行更改
- 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第5波-使用DAX查询从PowerbiDeskTop中获取数据源...
- 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告,第 2 部分
- CAD梦想画图中的“绘图工具——圆弧”
- 用蚕茧表示法写简洁实用的接口文档