在上一篇文章中我们学会了如何显示一个地图,

那么接下来我们来实现两个比较简单的功能:描点和画线。

其实这些功能的实现都是在调用MapWin GIS开源库的API函数来实现的,

只要自己仔细的阅读文档就能实现,但是一些外围的博客更有利于初学者

们的进步,所以我想继续写下去。

好了言归正传,下面我们开始啦...

我们要实现描点、画线需要三步走:

1.新建一个图层。

2.确定点的坐标,调用相应的函数(方法)画点。

先陈述一点,在窗体中添加一个控件,相当于对这个控件进行了实例化,

我们可以通过使用控件的名字来调用那些方法:例如axMap1就是咱们

控件的名字。

好了,

第一步:画一个新的图层,在这里其实可以不新画一个图层,直接

在地图上画,但是这样万一画错了想擦掉就不好办了,所以我还是

推荐在新的图层上画点的方式。

<span style="font-size:18px;">int AxMap.NewDrawing  (   MapWinGIS.tkDrawReferenceList   Projection  )</span>

产生一个新的图层,返回图层的句柄。

参数描述:

Projection Sets the coordinate system to use for the new drawing layer to be created. (ScreenReferenced uses pixels in screen coordinates. SpatiallyReferenced uses projected map units.)

文档中是这样描述的,意思是为图层创建一个新的坐标系,ScreenReferenced的意思是

坐标系设定为显示器屏幕的坐标系,SpatiallyReferenced 则是使用地图的坐标系,在这

里咱们选用第二种坐标系,经纬度坐标系。

lineHandle = axMap1.NewDrawing(MapWinGIS.tkDrawReferenceList.dlSpatiallyReferencedList);

第二步:画点的时候需要给定点的坐标,当我们是在shapefile文件上

新建的图层的话,那么点的坐标就是经纬度!

下面我们来看一下画点的API,在特定图层上画点方法有两个

这一个是在最新的图层上画点

<span style="font-size:18px;">void AxMap.DrawPoint  (   double  x,
double  y,
int     pixelSize,
uint    Color
)</span>  

而这一个是在指定图层上画点,通过图层的句柄来确定是哪一个图层

<span style="font-size:18px;">void AxMap.DrawPointEx    (   int     LayerHandle,
double  x,
double  y,
int     pixelSize,
uint    Color
)   </span>

参数描述:

LayerHandle: 图层的句柄,由AxMap.NewDrawing方法生成的新图层。

double x: X坐标。

double y: Y坐标。

Int pixelSize : 点的像素级的大小。

uint Color: 使用uint类型表示的颜色(具体值要通过换算RGB三通道,

请网上自行查找)。

实际中的使用:

<span style="font-size:24px;">axMap1.DrawPointEx(m_layerHandle, xVal_now, yVal_now, 5, 0);</span>

使用MapWinGis ActiveX控件在图层上画点相关推荐

  1. 在 .NET Compact Framework 2.0 中宿主 ActiveX 控件

    适用于: ActiveX Microsoft .NET Compact Framework 版本 2.0 摘要:了解如何在使用 .NET Compact 的应用程序中宿主 ActiveX 控件.本文提 ...

  2. html 自动加载activex控件,管理加载项未显示加载控件

    已安装控件,但是在"管理加载项"中"所有加载项"中就是这个: 已安装的控件只有在网页调用此控件时才会在加载项里出现 IE加载项没有禁用Flash Player为 ...

  3. c语言窗口插件,C语言使用ActiveX控件

    ActiveX使用的头文件,是只有C++才能用的,C语言要使用ActiveX控件,也是件很容易的事. 微软标准的ActiveX控件,根本上它还是一个窗口(Window),通俗地说就是关联了一个或多个C ...

  4. 基于MFC的ActiveX控件开发

    转自:http://www.cnblogs.com/lidabo/archive/2012/12/04/2800921.html ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件, ...

  5. 编写ActiveX控件及其打包方法

    1.ActiveX控件概述 ActiveX控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在Windows操作系统以OCX结尾的文件,OCX代表"对象链接 ...

  6. COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(上)

    声明:本文代码基于CodeProject的文章<A Complete ActiveX Web Control Tutorial>修改而来,因此同样遵循Code Project Open L ...

  7. asp activex 读取服务器上的文件,webshell中上传asp文件调用服务器ActiveX控件溢出获取shell...

    Team: http://www.ph4nt0m.org Author: 云舒(http://www.icylife.net) Date: 2008-02-19 做windows系统渗透测试的时候有w ...

  8. vue+Element-UI通过ActiveX 控件,实现扫描文件到本地并上传到服务器

    最近项目有个需求:将文件通过购买的富士通扫描仪扫描到本地,扫描完成后自动上传到服务器,并关联相关单据. 相关注意事项如下: 1.购买的扫描仪提供的开发文档说是使用ActiveX 控件,所以必须用IE浏 ...

  9. 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全

    http://www.cnblogs.com/carekee/articles/5332797.html 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全 在EOS6的项目中,如果采 ...

  10. 使用vs2008c++语言开发activex控件教程,使用VS2010 C#开发ActiveX控件(上)

    要开发Web版的读卡程序,大体思路如下: 1.使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能. 2.开发ActiveX控件调用封装后的Dll,使用 ...

最新文章

  1. 关于自注意力机制的思考
  2. 人工智能 MIT 博士系列讲课
  3. jsp中jsp中群发邮件群发邮件
  4. 辛苦了一个下午和晚上,给Blog换了个新皮肤
  5. sharepoint 2010项目中,ashx页面获取SPContext.Current 为null的原因和解决方法
  6. leetcode538 把二叉搜索树转换成累加树
  7. python中一切皆是对象,对象都是在堆上存放的,一切都是指针
  8. android网页接口实现方法,Android 程序员搞 web 之 webApi (十 四)
  9. python读取文件名有中文_[请教]python的中文文件名处理
  10. 句句真研—每日长难句打卡Day11
  11. 彻底剖析C# 2.0泛型类的创建和使用
  12. UDP socket编程: C++发送 | C#接收
  13. 010 Editor逆向分析文档
  14. OpenCV:计算三角形的角度
  15. 无线模块发送接收笔记
  16. 前端开发之百度地图使用的API和实例
  17. 尝试破解使用网络验证的小软件
  18. 深信服培训--网络设备常见的部署模式
  19. 工作 7 年的老程序员,现在怎么样了
  20. 网络攻防之——指纹识别工具

热门文章

  1. Gradle剔除依赖
  2. lua报错:1: unfinished string near ‘<eof>‘
  3. awb入门(2).色彩恒常
  4. 力学知识点提要(上)
  5. Win10卸载KB5014699补丁教程
  6. 联想服务器装系统不能加载硬盘,联想电脑重装系统读不出硬盘怎么办
  7. python神经网络反向传播_神经网络及反向传播算法
  8. android 辅助功能(无障碍)
  9. “暗云”BootKit木马详细技术分析
  10. cocoscreator1.52 删除anysdk