最近在用MapXtreme做项目,随笔记录备忘。

声明:PubMapPara 静态类,后缀为静态类成员变量

1.加载地图

  1. /// <summary>
  2. /// 地图工作空间文件路径
  3. /// </summary>
  4. public static string mapFileName = system.Environment.CurrentDirectory + @"\地图6\矿车定位.mws";
  5.  
  6. //加载不同类型的地图文件
  7. public void LoadMap()
  8. {
  9. if (mapFileName.ToLower().EndsWith(MapLoader.FileExtensionGST))//判断加载地图文件类型
  10. {
  11. this.myMapControl.Map.Load(new MapGeosetLoader(mapFileName));//后缀名为gst文件
  12. }
  13. else if (mapFileName.ToLower().EndsWith(MapLoader.FileExtensionWOR))//后缀名为mws文件
  14. {
  15. this.myMapControl.Map.Load(new MapWorkSpaceLoader(mapFileName));
  16. }
  17. else
  18. {
  19. this.myMapControl.Map.Load(new MapTableLoader(mapFileName));
  20. }
  21. }

2.当前鼠标位置的二维坐标转成地图坐标

  1. void myMapControl_MouseClick(object sender, MouseEventArgs e)
  2. {
  3. DPoint myPoint = new DPoint();
  4. //浮点数的二维坐标
  5. PointF mousePoint = new PointF(e.X, e.Y);
  6. //获取当前地图可用于将地图和图层坐标转换成显示坐标以及相反的转换
  7. DisplayTransform myDisplayTransform = this.myMapControl.Map.DisplayTransform;
  8. //坐标转换
  9. myDisplayTransform.FromDisplay(mousePoint, out myPoint);
  10. }

3.设置图层可选、可编辑

  1. FeatureLayer myFeaLayer = (FeatureLayer)this.myMapControl.Map.Layers[aliasName];
  2. if(myFeaLayer != null)
  3. {
  4. LayerHelper.SetEditable(myFeaLayer, true);
  5. LayerHelper.SetSelectable(myFeaLayer, true);
  6. }

4.设置图层可视

  1. FeatureLayer myFeaLayer = (FeatureLayer)this.myMapControl.Map.Layers[aliasName];
  2. if (myFeaLayer != null)
  3. {
  4. myFeaLayer.Enabled = true;
  5. }

5.控制地图的缩放范围

  1. //地图视图发生变化
  2. myMapControl.Map.ViewChangedEvent += new ViewChangedEventHandler(Map_ViewChangedEvent);
  3.  
  4. /// <summary>
  5. /// 地图视图发生变化
  6. /// </summary>
  7. void Map_ViewChangedEvent(object sender, ViewChangedEventArgs e)
  8. {
  9. //设置地图缩放比例
  10. LimitZoomValue();
  11. }
  12.  
  13. /// <summary>
  14. /// 限制地图缩放比例
  15. /// 防止出现地图由于无限缩小无法找到地图的现象
  16. /// </summary>
  17. private void LimitZoomValue()
  18. {
  19. if (myMapControl.Map != null)
  20. {
  21. if (myMapControl.Map.Zoom.Value < PubMapPara.zoomMax)
  22. {
  23. myMapControl.Map.Zoom = new MapInfo.Geometry.Distance(PubMapPara.zoomMax, this.myMapControl.Map.Zoom.Unit);
  24. }
  25. if (myMapControl.Map.Zoom.Value > PubMapPara.zoomMin)
  26. {
  27. myMapControl.Map.Zoom = new MapInfo.Geometry.Distance(PubMapPara.zoomMin, this.myMapControl.Map.Zoom.Unit);
  28. }
  29. }
  30. }

MapXtreme 随笔记录1的更多相关文章

  1. 初识html、css时随笔记录

    css部分样式 圆框效果:border-radius:5px; 固定样式:position:fixed;悬浮窗在IE6中position:absolute其余浏览器可以用fixed: 使table中的 ...

  2. Apache自带 ab压测工具 Windows配置使用说明 - 随笔记录

    我们先来了解一下ab工具的概念,摘自网络: ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如ngin ...

  3. MySQL学习随笔记录

    安装选custmer自定义安装.默认安装全部在c盘.自定义安装的时候有个advance port选项用来选择安装目录. -----------------------MySQL常见的一些操作命令--- ...

  4. hive 属性随笔记录

    set hive.mapred.mode=strict; //设置hive执行模式,默认为nonstrict(非严格模式),这里设置为严格模式 set hiveconf:hive.cli.print. ...

  5. 随笔记录①—利用poi读取Word中的标题和内容

    使用时间:4小时 使用poi方法将word中的内容提取出来,并输出到控制台或者存储到数据库poi.jar下载地址:https://www.apache.org/dyn/closer.lua/poi/r ...

  6. 随笔记录 MBR扇区故障系统备份与还原 2019.8.7

    系统备份: [root@localhost ~]# mkdir /abc [root@localhost ~]# mount /dev/sdb1 /abc [root@localhost ~]# dd ...

  7. 随笔记录 grub引导故障修复 2019.8.7

    系统备份: [root@localhost ~]# mkdir /abc [root@localhost ~]# mount /dev/sdb1 /abc [root@localhost ~]# dd ...

  8. (。・・)ノ~个人java学习随笔记录

    基本认识 1.编程思维 根据这几天的java学习,编写程序最重要的就是要有一个清晰的思路.语法上的错误可以跟随着不断的联系与学习来弥补,清晰的思维却只有自己来前期模仿,后面慢慢摸索形成一套属于自己的思 ...

  9. openStack kilo 手动Manual部署随笔记录

    一 ,基于neutron网络资源主机(控制节点,网络节点,计算节点)网络规划配置 1, controller.cc 节点 网络配置截图

随机推荐

  1. JS正则替换字符串

    1.只替换第一次出现的字符: text.replace(/javascript/i, "JavaScript");  //正则用//来将正则包起来 i表示区分大小写 2.全局替换: ...

  2. Objective-C的动态特性

    最近几年中涌现了大量的Objective-C开发者.有些是从动态语言转过来的,比如Ruby或Python,有些是从强类型语言转过来的,如Java或C#,当然也有直接以Objective-C作为入门语言 ...

  3. PHP版本的区别

    原文:PHP版本的区别 以为这个已经写过了,发现没有,赶紧补充下. PHP的版本,自从进入5以后,发布新版本速度明显提升很多,从PHP5.2开始,5.3 .5.4 .5.5,就快要6.0了. 注:ec ...

  4. (转)迎接 Entity Framework 7

    对实体框架的下一版本的开发正在顺利进行中.我在 2014 年度北美 TechEd 上第一次了解 EF 团队的工作内容,当时项目经理 Rowan Miller 讨论了 Entity Framework ...

  5. struts2文件下载 <result type="stream">

    <!--struts.xml配置--> <action name="download" class="com.unmi.action.DownloadA ...

  6. [DevEpxress]GridControl 显示Gif动画

    原文:[DevEpxress]GridControl 显示Gif动画 如果没有对进行设置,那么GridControl列中gif在编辑状态下,才能显示动画效果,如果要设置列自动显示动画效果,可以进行如下 ...

  7. js 正则之检测素数

    原文:js 正则之检测素数 相信很多人应该看过这篇文章,我第一次看到的时候是11年的样子,那时候学vbs的时候看过这个问题.原文<检查素数的正则表达式>,在文章里已经解释了他是怎么判断的, ...

  8. InstallShield集成安装MSDE2000最小版本(二) fishout特许授权发布

    原文:InstallShield集成安装MSDE2000最小版本(二) fishout特许授权发布 原帖地址:http://blog.csdn.net/fishout/archive/2009/10/ ...

  9. 萧墙HTML5手机发展之路(53)——jQueryMobile页面之间的参数传递

    基于单个页面模板HTTP通过路POST和GET请求传递参数.在多页模板,并且不需要server沟通,通常有三种方式在多页模板来实现页面之间的参数传递. 1.GET道路:上一页页生成参数并传递到下一个页 ...

  10. [Node.js框架] 为什么要开发 Codekart 框架

    两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后接触了Lisp.python.java.Ruby.Lisp几乎 ...