使用MapWinGis ActiveX控件在图层上画点
在上一篇文章中我们学会了如何显示一个地图,
那么接下来我们来实现两个比较简单的功能:描点和画线。
其实这些功能的实现都是在调用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控件在图层上画点相关推荐
- 在 .NET Compact Framework 2.0 中宿主 ActiveX 控件
适用于: ActiveX Microsoft .NET Compact Framework 版本 2.0 摘要:了解如何在使用 .NET Compact 的应用程序中宿主 ActiveX 控件.本文提 ...
- html 自动加载activex控件,管理加载项未显示加载控件
已安装控件,但是在"管理加载项"中"所有加载项"中就是这个: 已安装的控件只有在网页调用此控件时才会在加载项里出现 IE加载项没有禁用Flash Player为 ...
- c语言窗口插件,C语言使用ActiveX控件
ActiveX使用的头文件,是只有C++才能用的,C语言要使用ActiveX控件,也是件很容易的事. 微软标准的ActiveX控件,根本上它还是一个窗口(Window),通俗地说就是关联了一个或多个C ...
- 基于MFC的ActiveX控件开发
转自:http://www.cnblogs.com/lidabo/archive/2012/12/04/2800921.html ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件, ...
- 编写ActiveX控件及其打包方法
1.ActiveX控件概述 ActiveX控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在Windows操作系统以OCX结尾的文件,OCX代表"对象链接 ...
- COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(上)
声明:本文代码基于CodeProject的文章<A Complete ActiveX Web Control Tutorial>修改而来,因此同样遵循Code Project Open L ...
- asp activex 读取服务器上的文件,webshell中上传asp文件调用服务器ActiveX控件溢出获取shell...
Team: http://www.ph4nt0m.org Author: 云舒(http://www.icylife.net) Date: 2008-02-19 做windows系统渗透测试的时候有w ...
- vue+Element-UI通过ActiveX 控件,实现扫描文件到本地并上传到服务器
最近项目有个需求:将文件通过购买的富士通扫描仪扫描到本地,扫描完成后自动上传到服务器,并关联相关单据. 相关注意事项如下: 1.购买的扫描仪提供的开发文档说是使用ActiveX 控件,所以必须用IE浏 ...
- 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全
http://www.cnblogs.com/carekee/articles/5332797.html 在此页上的 ActiveX 控件和本页上的其它部份的交互可能不安全 在EOS6的项目中,如果采 ...
- 使用vs2008c++语言开发activex控件教程,使用VS2010 C#开发ActiveX控件(上)
要开发Web版的读卡程序,大体思路如下: 1.使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能. 2.开发ActiveX控件调用封装后的Dll,使用 ...
最新文章
- 关于自注意力机制的思考
- 人工智能 MIT 博士系列讲课
- jsp中jsp中群发邮件群发邮件
- 辛苦了一个下午和晚上,给Blog换了个新皮肤
- sharepoint 2010项目中,ashx页面获取SPContext.Current 为null的原因和解决方法
- leetcode538 把二叉搜索树转换成累加树
- python中一切皆是对象,对象都是在堆上存放的,一切都是指针
- android网页接口实现方法,Android 程序员搞 web 之 webApi (十 四)
- python读取文件名有中文_[请教]python的中文文件名处理
- 句句真研—每日长难句打卡Day11
- 彻底剖析C# 2.0泛型类的创建和使用
- UDP socket编程: C++发送 | C#接收
- 010 Editor逆向分析文档
- OpenCV:计算三角形的角度
- 无线模块发送接收笔记
- 前端开发之百度地图使用的API和实例
- 尝试破解使用网络验证的小软件
- 深信服培训--网络设备常见的部署模式
- 工作 7 年的老程序员,现在怎么样了
- 网络攻防之——指纹识别工具
热门文章
- Gradle剔除依赖
- lua报错:1: unfinished string near ‘<eof>‘
- awb入门(2).色彩恒常
- 力学知识点提要(上)
- Win10卸载KB5014699补丁教程
- 联想服务器装系统不能加载硬盘,联想电脑重装系统读不出硬盘怎么办
- python神经网络反向传播_神经网络及反向传播算法
- android 辅助功能(无障碍)
- “暗云”BootKit木马详细技术分析
- cocoscreator1.52 删除anysdk