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#相关推荐

  1. c# legend 显示位置_C# charting中图例(legend)的问题。

    展开全部 前台页面:(legend的字体及样式可以在属性窗口设置32313133353236313431303231363533e4b893e5b19e31333332613639) YAxisTyp ...

  2. 如何在label上显示字_如何地图上标注店面_新开的店铺要怎样上地图显示_怎么将公司标记在地图...

    新开的店铺商铺商家商户企业工厂怎么标注地图位置?如何地图上标注店面_怎么将店铺标记在地图_新开的店铺要怎样上地图显示?还没有办好营业执照可以做?您可能会有很多地图疑问?请直接联系腾图通地图服务公司为您 ...

  3. 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...

    [推荐阅读]资料下载QQ群:562718785(软件下载.精美PPT模板下载) [Excel视频教学]求和及快速求和 [Excel视频教学]跨表快速求和 [Excel视频教学]函数-相对绝对混合引用 ...

  4. android定位附近店铺,高德地图怎么添加店铺位置_高德地图定位怎么设置添加自己家店铺位置_攻略...

    高德地图是国内最知名的地图导航软件,基本上每个人的手机上都有这款软件.如今想要方便出行都可以通过高得地图查询位置就可以了,给我们的生活带来了很多的便利.在高德地图上也可以很方便的查询各个地方的店铺,通 ...

  5. textedit实时显示位置_加什么地形就看什么等高线!等高线实时预览就是这么爽...

    做规划.做设计.选场地.水文分析.玩户外,哪个都不离开等高线地图. 目前能找到的等高线地图(OpenCycleMap.Garmin矢量地图等)都不太好用:加载速度慢.渲染效果不太好.无法对地形进行渲染 ...

  6. 安卓开发 高德地图 marker 点击移动位置_高德地图AR导航功能上线 ~

    作者:小A Date:2020-08-20 来源:AIRX社区微信公众号 高德地图近期发布新版本10.60,上线AR导航功能,目前该功能可以在部分安卓手机上可以体验到.AR技术能将虚拟与现实联通,从视 ...

  7. echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?

    编者按 在日常开发中,通常说到优化.提高帧率时,总是会提到批量渲染.之前简单总结了静态合批(点此查看全文)以及动态合批(点此查看全文),这次作者将和大家聊聊实例化渲染. 作者:枸杞忧天 (本文内容由公 ...

  8. vue 高德地图 不同区域显示不同颜色_高德地图车机版4.0解析:看不见的升级才是重点...

    近日,高德正式发布高德地图车机版(AMAP AUTO)4.0. 自2016年初高德地图车机版(AMAP AUTO)首次亮相后,此次正式推出的4.0版本,已经是该智能车载导航产品的第三次大升级. 在车云 ...

  9. vue点击定位到指定位置_百度地图vue-baidu-map自动定位,鼠标选点并进行逆解析,地区检索,使用案列以及解决方案...

    店铺信息 size="large" placeholder="请输入店铺名称" v-decorator="['openShopData.shopNam ...

最新文章

  1. mysql基本命令总结_mysql 常用基本命令总结
  2. 解决pycharm问题:module ‘pip‘ has no attribute ‘main‘
  3. [文摘20090224]天干和地支
  4. python和excel的区别-Python与Excel 不得不说的事情
  5. 使用Formik轻松开发更高质量的React表单(二)使用指南
  6. Curator实现分布式锁的基本原理-InterProcessMutex.acquire
  7. php插入方法,有什么办法能把一条php语句插入到方法里呢?
  8. 技术影响力和开发者生态如何打造?
  9. 介绍几个flash游戏框架
  10. html5 成语连连看,全国通用五年级下册语文讲义-阅读与作文:学写读后感(含答案)[参考].pdf...
  11. CTP: 初始化成功和TradeAPI、MDAPI登陆成功
  12. 荒野行动为什么不能获取服务器信息,荒野行动获取服务器信息一直不动 服务器信息0解决方法...
  13. Python(三)微信公众号开发
  14. SGD和带momentum的SGD算法
  15. Mac电脑快速查找文件的两种方法
  16. 你需要TrustedInstaller提供的权限才能对此文件进行更改
  17. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第5波-使用DAX查询从PowerbiDeskTop中获取数据源...
  18. 读取、回收和重用:使用 Excel、XML 和 Java 技术轻松搞定报告,第 2 部分
  19. CAD梦想画图中的“绘图工具——圆弧”
  20. 用蚕茧表示法写简洁实用的接口文档

热门文章

  1. 英语和计算机基础统考难么,网络教育本科英语统考难吗
  2. 2021星空实施在线认证初级班(1)
  3. 计算机网络Wireshark 实验
  4. iOS之多线程---Runloop和多线程
  5. WordPress初学者入门教程-插件
  6. html轮播图速度加快,jQuery按需加载轮播图(web前端性能优化)
  7. Springboot如何引入外部jar包
  8. Criteria 与 DetachedCriteria 的区别与使用
  9. 腾讯云发布多款大数据应用产品,助力企业全面释放数据价值
  10. rollingcube