编辑选择对象Editor
来源:互联网 发布:石家庄淘宝托管 编辑:程序博客网 时间:2024/05/04 06:12
在ArcGIS api for Siverlight|WPF 中有个编辑工具EditorWidget,如下图所示:
它有选择、添加、编辑、删除选择等功能,事实上,这些是由两个对象一起组合起来的,对要素的编辑功能由EditGeometry提供,而Editor则负责了要素的选择、删除选择等功能,在“地图编辑”一文中已介绍了EditGeometry,这里只对Editor进行简单介绍。Editor的选择、删除选择等功能,是以ICommad命令加命令参数的形式提供的,它包含添加、选择、删除选中、切割、连接等命令,这里只简单介绍选择、删除选中要素功能,步骤如下:
1、构造Editor对象
Editor edit=new Editor();
edit.GeometryServiceUrl = "http://localhost/arcgis/rest/services/Geometry/GeometryServer";//设置几何服务位置
List<String> lyrIds = new List<string>();
lyrIds.Add("People"); //添加工作图层(FeatureLayer)名称
lyrIds.Add("Matter");
lyrIds.Add("Organization");
lyrIds.Add("Place");
edit.LayerIDs = lyrIds.AsEnumerable<string>();//设置Edit的工作图层几何
edit.Map = map1;//绑定地图控件
edit.EditCompleted += new EventHandler<Editor.EditEventArgs>(edit_EditCompleted);//注册命令完成事件
2、执行命令
edit.Select.Execute("New");//新建选择,有Add, Remove, New, Keyboard (default)四个参数,还有Add、Cut、Union、DelecteSelected、EditVertices等命令,具体的参数可以到官网查看官网,有些不确定参数的,则用""字符串即可
//选中的要素在FeatureLayer.SelectedGraphics中可以查看
3、命令完成事件
private void edit_EditCompleted(Object sender, Editor.EditEventArgs e)
{
//e.Action属性可以用来判断,触发事件的命令
if (edit.DeleteSelected.CanExecute("") == false)
{ //判断是否可以执行删除命令,其他命令的CanExecute("")方法同样也可以用来判断该命令是否能被执行,避免出错
MessageBox.Show("请选择后再删除");
}
else
{
try
{
edit.DeleteSelected.Execute("");//执行删除选中要素命令,参数直接是"",要想保存删除,则需要执行edit.Save命令
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "删除失败");
}
}
edit.Select.Execute("New"); //要想使删除操作具有逻辑连贯性,则在删除后又需要重新执行选择命令,因为这些命令都是一次性的,所以只能以这种方式实现
}
- 编辑选择对象Editor
- Symbian Editor 无法编辑
- Editor编辑Inspector界面
- C C++ 编程Editor 选择
- Antechinus JavaScript Editor--JS编辑工具
- easyUI的行内编辑editor
- 在Editor模式下编辑贝塞尔曲线
- Mix-Editor图文编辑 v1.2
- eclipse xml editor从视图编辑改为源代码编辑
- 选择框/编辑
- unity3d编辑器界面扩展,编辑状态下显示选择对象的所有脚本组件代码内容
- 中文版资源编辑工具JRC-Editor的使用
- ArcMap的Editor工具,实现要素拖动、编辑
- ArcMap的Editor工具,实现要素拖动、编辑
- Editor窗体根据编辑状态设定控件状态
- JS编辑圣器--Microsoft Script Editor的安装
- Hex Editor实现Notepad++16进制编辑功能
- cocos2d-x 游戏 之 Tiled Map Editor(地图编辑)
- 使用 python 开发 Web Service
- 理解并行和并发
- 黑马程序员-JAVA 高新技术(代理)
- 2、PL/SQL客户端配置。
- 如何提升流量的转化率
- 编辑选择对象Editor
- equals和hashCode的区别
- 验证码相关新解
- Introduce my department
- qt gpio
- Scanner在异常处理中的陷阱
- [07.08]密西绿色精品软件每日更新[西空整理]
- Ubuntu安装
- Jsoncpp的使用