前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高质量编码-地图图层管理

高质量编码-地图图层管理

原创
作者头像
MiaoGIS
修改2019-03-14 18:02:13
1K0
修改2019-03-14 18:02:13
举报
文章被收录于专栏:Python in AI-IOTPython in AI-IOT

WebGIS开发中,业务中经常需要许多图层,通常是ArcGISTiledMapServiceLayerFeatureLayer,如果使用开源的GeoServer作为地图服务器,通常使用WMTSLayer以及WFSLayer。因为Arcgis JS API功能强大,所以我们最好采用Arcgis JS API来开发WebGIS应用。即使我们使用免费开源的GeoServergeowebcache来作为地图服务器,我们也最好不使用openlayermapbox等其他地图JS API技术,使用Arcgis JS API的WMTSLayer和WFSLayer来加载开源免费的地图服务器发布的地图服务,毕竟Arcgis JS API的易用,强大,系统全面是任何其他WebGIS JS API无法比拟的。

通常项目开发中,我们这样定义图层

定义一个arcgis 切片服务图层
定义一个arcgis 切片服务图层
定义一个Arcgis要素图层
定义一个Arcgis要素图层

通常情况下ArcGISTiledMapServiceLayer和WMTSLayer

如果项目中需要许多图层,就在代码中为每个图层定义一个layer

不仅如此,还要在交互中对特定图层隐藏,显示,调整顺序。

多年工作经验,发现项目中通常就是两种图层需求,一种是切片图层用于显示静态地图,另一种是动态图层,用于在浏览器产生交互或者动态样式。前者我们通常使用ArcGISTiledMapServiceLayer和WMTSLayer,后者我们通常使用FeatureLayer和WFSLayer。那么,根据自己公司的产品和项目,我们为什么设计只需通过简单配置就可以实现对常用图层的管理呢?我们不需要去适应每一种类型图层,也不需要考虑那么多构造函数的参数,只需要考虑项目中常用图层类型以及常用构造参数就可以了。

Arcgis中的图层类型
Arcgis中的图层类型
每一种图层类型的构造函数可选参数都非常多
每一种图层类型的构造函数可选参数都非常多

下面介绍使用《高质量编码-实现基于html的参数配置》中的方法来完成地图图层的配置:

data-name表示layer的id,serviceType表示切片类型,支持ArcGISTiledMapServiceLayer和WMTSLayer
data-name表示layer的id,serviceType表示切片类型,支持ArcGISTiledMapServiceLayer和WMTSLayer
id方便通过map._layers以及自己定义的变量来跟踪layer
id方便通过map._layers以及自己定义的变量来跟踪layer
将FeatureLayer的配置嵌套在ArcGISTiledMapServiceLayer中
将FeatureLayer的配置嵌套在ArcGISTiledMapServiceLayer中
WMTSLayer图层的配置
WMTSLayer图层的配置
WMTSLayer图层需要配置tileInfo和layerInfo
WMTSLayer图层需要配置tileInfo和layerInfo
同样将WFSLayer配置嵌套在WMTSLayer配置中
同样将WFSLayer配置嵌套在WMTSLayer配置中
这里为FeatureLayer和WFSLayer配置了infoWindow鼠标事件(点击或经过)以及弹窗标题,弹窗内容模板以及弹窗大小
这里为FeatureLayer和WFSLayer配置了infoWindow鼠标事件(点击或经过)以及弹窗标题,弹窗内容模板以及弹窗大小

下文将介绍根据配置文件管理图层是多么简单方便。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档