GIS二次开发之平移
2010-12-02 17:20
183 查看
在上一篇文章中,简单的实现了一些常用的功能,当时里面的IToolBarControl是通过设置Buddy属性和AxMapControl绑定的,接下来的几篇文章会简单的介绍一下自己如何实现这些功能。
今天简单的看看平移(Pan).简单的看了一下,目前我这边有三种方法可以实现Pan,当然这三种方法都是利用AE自带的一些方法或是属性实现。
AE本身在二次开发的时候为了方便开发人员,将各个功能独立起来,开发人员只需要简单的设置一些属性即可实现很强大的功能。同样继承这种思想,将接下来实现的Pan功能也注册到机器中,作为功能插件使用。
在建立项目的时候,建立一个“类库”,然后在引用中添加AE的一些常用的引用。
第一种:
在刚建立的类库中添加一个类,类名随便,这里是MapPan
代码
bool m_startPan = false;
//BUTTON按钮事件
private void btnMapPan_Click(object sender, EventArgs e)
{
m_startPan = true;
}
private void axMapMain_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
if (e.button == 1)
{
if (m_startPan)
{
axMapMain.Pan();
}
}
}
是不是最后一种方法最简单。哈哈
当然这里的方法只是个人知道的方法,肯定还有很多方法,比如ControlsMapPanTool,这个方法没有试过,既然网上有这样的代码,也肯定是行的痛的,可以多尝试。
今天简单的看看平移(Pan).简单的看了一下,目前我这边有三种方法可以实现Pan,当然这三种方法都是利用AE自带的一些方法或是属性实现。
AE本身在二次开发的时候为了方便开发人员,将各个功能独立起来,开发人员只需要简单的设置一些属性即可实现很强大的功能。同样继承这种思想,将接下来实现的Pan功能也注册到机器中,作为功能插件使用。
在建立项目的时候,建立一个“类库”,然后在引用中添加AE的一些常用的引用。
第一种:
在刚建立的类库中添加一个类,类名随便,这里是MapPan
代码
bool m_startPan = false;
//BUTTON按钮事件
private void btnMapPan_Click(object sender, EventArgs e)
{
m_startPan = true;
}
private void axMapMain_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
if (e.button == 1)
{
if (m_startPan)
{
axMapMain.Pan();
}
}
}
是不是最后一种方法最简单。哈哈
当然这里的方法只是个人知道的方法,肯定还有很多方法,比如ControlsMapPanTool,这个方法没有试过,既然网上有这样的代码,也肯定是行的痛的,可以多尝试。
相关文章推荐
- 精华文章、技术资料,二次开发源代码,行业方案,GIS知识下载索引
- 在GIS二次开发mapcontrol空间中对要素显示气泡弹出框(AE开发)
- GIS二次开发牛人博客
- GIS二次开发心得
- 就GIS二次开发的一些看法
- gis的二次开发
- GIS二次开发之上一个视图/下一个视图
- Bridge? 一个GIS二次开发中常用的设计模式
- 基于MapGIS的GIS二次开发作业文档
- GIS二次开发的一个软件
- JAVA二次开发GIS的QQ群(17765831
- GIS二次开发之缩小
- 基于.Net的mapinfo二次开发机制研究(GIS)
- GIS二次开发之放大
- GIS的二次开发——使用pb调用mapx控件(原创)
- 关于GIS行业_ 二次开发怎么了?
- 七、Sketchup用ruby进行二次开发--利用Transformation实现Move工具(平移、旋转和缩放)
- C# Mapobject2.4 Gis二次开发
- GIS二次开发之查询
- GIS二次开发-多个shp文件的加载(两种方法)