最近在用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. C# 获取磁盘容量

    原文:C# 获取磁盘容量 /// 获取指定驱动器的空间总大小(单位为B) /// </summary> /// <param name="str_HardDiskName& ...

  2. Java遍历解析URL类型字符串中参数

    public static void main(String[] args) { String str="&emailCheckURL=447&useremail=vip@c ...

  3. selenium之多线程启动grid分布式测试框架封装(三)

    七.工具类,线程监控器类创建 utils包中,创建java类:RemoteThreadStatusMonitor.java package com.lingfeng.utils; /** * 此监控器 ...

  4. AngularJS + CoffeeScript

    AngularJS + CoffeeScript 前端开发环境配置详解 AngularJS 号称 '第一框架' ('The first framework') 确实是名不虚传.由其从jQuery中完全 ...

  5. php中des加密解密 匹配C#des加密解密 对称加密

    原文:php中des加密解密 匹配C#des加密解密 对称加密 网上找来的 php des加密解密 完全匹配上一篇C# 字符串加密解密函数  可以用于C#和php通信 对数据进行加密,其中$key 是 ...

  6. Bundle压缩JS和CSS

    ASP.NET MVC之Bundle压缩JS和CSS 介绍Bundle之前先引用<淘宝技术这十年>中一段话,对Web前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS.J ...

  7. 经历:asp.net oracle 部署问题以及解决方法

    原文:[原创]经历:asp.net oracle 部署问题以及解决方法 精简的美丽...... 一.环境    开发环境        win7 64bit         Vs2010       ...

  8. keepalive学习

    keepalive学习之软件设计 软件架构如下图所示: Keepalived 完全使用标准的ANSI/ISO C写出. 该软件主要围绕一个中央I/O复用分发器而设计,这个I/O复用分发器提供网络实时功 ...

  9. SZU:B54 Dual Palindromes

    Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Number Only Ju ...

  10. iOS基础 - 控件属性

    一.控件的属性 1.CGRect frame 1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0)) 2> 修改这个属性,可以调整控件的位置和尺寸 2.CGPoint cen ...