樱木 原文 AE内置Command控件使用
直接使用AE内置的Command控件来完成功能
1、拉框放大
/// <summary> /// 放大 /// </summary> private void btnZoomIn_Click(object sender, EventArgs e) { ControlsMapZoomInTool mapZoomIn = new ControlsMapZoomInTool(); mapZoomIn.OnCreate(axMapMain.Object); axMapMain.CurrentTool = mapZoomIn as ITool; //注意,此处如果写成mapZoomIn.OnClick(); 则不起作用 }
2、中心放大
/// <summary> /// 放大 /// </summary> private void btnZoomIn_Click(object sender, EventArgs e) { ControlsMapZoomInFixedCommand mapZoomIn = new ControlsMapZoomInFixedCommand(); mapZoomIn.OnCreate(axMapMain.Object); mapZoomIn.OnClick(); //此处没有问题 }
总结:当Command对象处理的不只是打开地图,显示全图,中心放大/缩小这类没有与地图交互的功能时,简单的使用OnClick即可,但是当需要的是拖动鼠标控制缩放,空间查询这类必须与地图进行交互的动作时,就必须设置MapControl的CurrentTool属性。
本文介绍如何利用AE内置Command控件实现地图操作功能,包括不同场景下使用OnClick方法与设置CurrentTool属性的区别。

被折叠的 条评论
为什么被折叠?



