在复杂的业务场景中,常常需要将多个图层统一管理起来,但是面对众多的图层,扁平的存放在地图文档下的同一层级,并不能很好帮助我们完成数据管理功能。 mapgis提供图层管理方法可以做到类似文件管理的操作,可以将同一类型的文件保存到同一个文件夹中,逐级管理。MapGIS组图层专门用来解决该类需求,如地图上有两个图层分别用于表示省道和国道,可以将它们创建为组图层,并将组图层命名为交通网,后续其他道路相关数据也可以加入到交通网中,方便用户快捷管理数据。 图 1 MapGIS Client for JavaScript示例站点 ◆地图文档加载显示: 图 2 地图文档加载显示 ◆地图文档要素查询: 图 3 地图文档要素查询 ◆地图文档要素编辑: 图 4 地图文档要素编辑 MapGIS组图层(或称之为图层组)可以包含其他图层,有助于对地图中相关类型的图层进行组织。一个组图层类似一个文件夹,用于图层类别的细分。下面介绍两种创建图层组的方式: ◆以“添加”的方式创建组图层 1. 在工作空间右键选择文档树下的地图节点,在弹出的右键菜单中选择“添加组图层”项,即可在该地图下添加组图层。 图 5 创建图层组 2. 添加组图层后,可将图层拖动到组图层下或在组图层下新建图层,在组内对图层进行统一管理,如下所示: 图 6 向组图层添加图层 ◆以“成组”的方式创建组图层 在地图中选中多个图层,点击右键,选择“成组”,随即多个图层组成一个组图层,如下图所示: 图 7 多图层成组 MapGIS通过地图文档管理地图数据,并提供组图层来组织多个图层,图层显隐功能在各大项目中应用非常广泛。经调研和经验数据支撑,我们发现大家对非组图层的显示或隐藏功能应用自如,却并不了解如何对组图层中的图层进行显示隐藏控制或图层查询。下面为大家带来MapGIS组图层显隐功能控制及图层查询、要素编辑技巧。 图 8 地图文档图层组 01、控制组图层显示和隐藏 以MapGIS Client for JavaScript -OpenLayers为例,首先需要加载地图文档(地图文档通过MapGIS Desktop制作,通过MapGIS IGServer发布),加载地图文档关键代码如下图所示: 图 9 加载二维地图文档 mapDocLayer提供setLayerStatus(opt_layers,opt_type) 方法,控制地图文档中的图层显示和隐藏。 ● opt_layers (String):图层序号,多个图层以“,”分隔,如“1,2,3” ● opt_type(String):显示状态类型 与上文同理,图层组下图层序号为:图层组编号-图层组中图层序号,只显示图层组第一个图层代码,如下图所示。 图 10 控制图层组图层显示 图 11 二维地图文档原始效果及图层隐藏显示效果 02、地图文档组图层查询服务 其实对MapGIS组图层的查询和对MapGIS一般图层的查询方式是一致的,图层组下图层序号为:图层组编号-图层组中图层序号。 以上文二维地图文档为例,图层组排在地图文档第一位,所以编号为0,图层组下三个图层编号依次为0,1,2,因此若想查询图层组三个图层,传递查询图层参数为‘0-0,0-1,0-2’。 图 12 查询图层组图层示例代码 图 13 查询前地图文档 图 14 查询并高亮显示 03、地图文档组图层要素编辑 一般GIS应用系统,除需要对数据进行显示和查询外,对要素的编辑也有一定要求。MapGIS为组图层提供添加、删除和更新要素等功能。 图 15 实例化要素编辑服务对象 editService提供add、update、deletes方法,控制地图文档中图层要素的添加、更新、删除。 接下来以删除要素为例,为大家讲解图层组图层要素编辑功能。 图 16 要素删除 对于图层组的要素编辑,关键就是在构造地图文档要素编辑对象(delereService)中传递图层序号,此处和图层显示、图层查询同理,图层序号为:图层组编号-图层组中图层序号。 图 17 要素删除前地图文档 图 18 执行要素删除操作 精彩回顾 2022年度MapGIS 二次开发特训营再度来袭!每季度一期开发培训,资深讲师手把手带你体验MapGIS 二次开发产品新特性。目前,第一期课程已于3月31日与大家线上见面,不仅直播间现场热情满满,后台也收到众多用户留言求回放。 为响应大家的需求,中地数码秉承“用户至上”的原则,为大家送上课程回放链接: 点击查看第一期精彩课程吧~ 随着GIS产品的不断创新发展,GIS平台二次开发技能需求愈发凸显。未来,中地数码将始终践行以“GIS平台+生态发展”的融合创新战略打造GIS生态圈,积极拥抱业内合作伙伴,聚焦二次开发服务,为用户带来更加高效的二次开发技能培训及实战演练,满足用户“简便、易用、高效”的二次开发诉求。
|