最近在用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. jQuery选中该复选框来实现/全部取消/未选定/获得的选定值

    <!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...

  2. sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同

    原文:sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同 说明: 以前要将一个表中的数据导出为脚本,只有用存储过程.现在在SQL Server ...

  3. C# 根据年、月、周、星期获得日期等

    原文:C# 根据年.月.周.星期获得日期等 /// 取得某月的第一天 /// </summary> /// <param name="datetime">要 ...

  4. 用lucene.net根据关键字检索本地word文档

    目前在做一个winform小软件,其中有一个功能是能根据关键字检索本地保存的word文档.第一次是用com读取word方式(见上一篇文章),先遍历文件夹下的word文档,读取每个文档时循环关键字查找, ...

  5. JS中的模块规范(CommonJS,AMD,CMD)

    JS中的模块规范(CommonJS,AMD,CMD) 如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧, ...

  6. Ruby on Rails (ROR)类书籍

    Ruby on Rails (ROR)类书籍下载地址及其他(整理) Ruby on Rails 如此之热,忍不住也去看了看热闹,现在把一些相关的电子图书下载地址整理下,方便有兴趣的朋友. 2006-0 ...

  7. WindowsService开发遇到的问题

    1.Windows服务安装 通过cmd运行指令安装Windows服务: 安装方法:运行cmd,以InstallUtil.exe 来运行 Windows服务程序. 如果是Release模式的话,直接在c ...

  8. PHP类

    类就是很多方法的集合这些方法是你在程序中经常会用到的一些逻辑或算法将他们包进类里面,可以提升程序的效率,减少代码的重复 比如你有一个类文件 web_common.class.php ,里面有一个类,名 ...

  9. ASP.NET MVC之单元测试

    ASP.NET MVC之单元测试分分钟的事2014-07-15 13:05 by 书洞里的猫, 550 阅读, 4 评论, 收藏, 编辑 一.为什么要进行单元测试? 大部分开发者都有个习惯(包括本人在 ...

  10. ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork 制作一个添加新闻功能

    本文将交大伙怎么集成ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork来制作一个新闻系统 先上截图: 添加页面如下: 下面来看代码部分 列表页如下: @ ...