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

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

1.加载地图

/// <summary>
/// 地图工作空间文件路径
/// </summary>
public static string mapFileName = system.Environment.CurrentDirectory + @"\地图6\矿车定位.mws"; //加载不同类型的地图文件
public void LoadMap()
{
if (mapFileName.ToLower().EndsWith(MapLoader.FileExtensionGST))//判断加载地图文件类型
{
this.myMapControl.Map.Load(new MapGeosetLoader(mapFileName));//后缀名为gst文件
}
else if (mapFileName.ToLower().EndsWith(MapLoader.FileExtensionWOR))//后缀名为mws文件
{
this.myMapControl.Map.Load(new MapWorkSpaceLoader(mapFileName));
}
else
{
this.myMapControl.Map.Load(new MapTableLoader(mapFileName));
}
}

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

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

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

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

4.设置图层可视

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

5.控制地图的缩放范围

//地图视图发生变化
myMapControl.Map.ViewChangedEvent += new ViewChangedEventHandler(Map_ViewChangedEvent); /// <summary>
/// 地图视图发生变化
/// </summary>
void Map_ViewChangedEvent(object sender, ViewChangedEventArgs e)
{
//设置地图缩放比例
LimitZoomValue();
} /// <summary>
/// 限制地图缩放比例
/// 防止出现地图由于无限缩小无法找到地图的现象
/// </summary>
private void LimitZoomValue()
{
if (myMapControl.Map != null)
{
if (myMapControl.Map.Zoom.Value < PubMapPara.zoomMax)
{
myMapControl.Map.Zoom = new MapInfo.Geometry.Distance(PubMapPara.zoomMax, this.myMapControl.Map.Zoom.Unit);
}
if (myMapControl.Map.Zoom.Value > PubMapPara.zoomMin)
{
myMapControl.Map.Zoom = new MapInfo.Geometry.Distance(PubMapPara.zoomMin, this.myMapControl.Map.Zoom.Unit);
}
}
}

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. 20款最好的免费的IDES和编辑器

    程序员编程利器:20款最好的免费的IDES和编辑器 Posted on 2015-02-17 21:52 尛鱼 阅读(170) 评论(1) 编辑 收藏 程序员编程利器:20款最好的免费的IDEs和编辑 ...

  2. Windows服务之启动、停止、暂停、继续

    原文:Windows服务之启动.停止.暂停.继续 Windows服务之启动.停止.暂停.继续 2011-11-09 15:07:37     我来说两句 收藏    我要投稿    [字体:小 大] ...

  3. JAVA 代码生成。SimpleCaptcha

    去官方网站下载Jar包: http://simplecaptcha.sourceforge.net/ Javadocs: http://simplecaptcha.sourceforge.net/ja ...

  4. 自动编译CoffeeScript的Gruntfile.js

    比如把coffee文件写在coffee/controller/文件夹下,新建js/controller文件夹,使用grunt运行项目,将自动编译coffee到相应的js文件夹下. module.exp ...

  5. Java 之Integer相等比较

    1.问题提出 今天在和同事讨论问题的时候,无意间谈到了Integer对象的比较,先看下代码: package test; public class IntegerEqual { /** * @para ...

  6. SQL Server之记录筛选(top、ties、offset)汇总

    一.TOP 筛选 如果有 ORDER BY 子句,TOP 筛选将根据排序的结果返回指定的行数.如果没有 ORDER BY 子句,TOP 筛选将按照行的物理顺序返回指定的行数. 1. 返回指定数目的行 ...

  7. jQueryRotate 转盘抽奖代码实现

    代码如下: 例子兼容IE6,7,8 以及高版本浏览器,如有bug请回复! 1.html结构 <!doctype html> <html lang="en"> ...

  8. 异步陷阱之IO

    异步陷阱之IO篇 很多教程和资料都强调流畅的用户体验需要异步来辅助,核心思想就是保证用户前端的交互永远有最高的优先级,让一切费时的逻辑通通放到后台,等到诸事完备,通知一下前端给个提示或者继续下一步.随 ...

  9. leetcode[88] Gray Code

    题目:格雷码. 格雷码是从0开始且之后两个相邻码之间只有一个符号不相同,例如000,100,101,111三个相邻之间只有一个二进制不同. 现在给定一个数字n,然后给出格雷码所对应的数字.例如: Fo ...

  10. iOS基础 - XML & JSON

    一.HTML & XML HTML 是用来描述网页的一种语言 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记 ...