WebGL加载地图临时图层解决方法
作者:yyy
一、场景
有完整地图,Web项目中需要根据不同客户校色、不同场景、多重条件展示符合要求的地图要素。
二、解决办法
利用已有地图,进行sql条件过滤,得到临时地图图层。
三、操作流程
3.1对已有地图发布地图服务
地图服务若已存在可略过此步;
示例:http://localhost:8090/iserver/services/map-world-2/rest/maps/世界地图
3.2操作页面
http://localhost:8090/iserver/services/map-world-2/rest/maps/世界地图/tempLayersSet?returnPostAction=true&getMethodForm=true
3.3创建临时图层
在下图中【创建临时图层】下方按钮勾选上即可
3.4原始临时图层
上述步骤后,右侧框内会得到如下字符
[{"completeLineSymbolDisplayed":false, "visible":true, "maxScale":0, "caption":null, "description":"", "symbolScalable":false, "subLayers":{"layers":[{"joinItems":null, "completeLineSymbolDisplayed":false, "ugcLayerType":"VECTOR", "displayFilter":null, "visible":true, "maxScale":0, "fieldValuesDisplayFilter":{"fieldName":"", "values":[], "fieldValuesDisplayMode":"DISABLE"}, "caption":"Countries@world", "description":"", "symbolScalable":false, "subLayers":{}, "type":"UGC", "datasetInfo":{"schema":null, "charset":null, "recordCount":0, "isFileCache":false, "description":null, "type":"REGION", "dataSourceName":"world", "tableName":null, "isReadOnly":false, "encodeType":null, "bounds":{"top":83.62359619140628, "left":-180, "bottom":-90, "leftBottom":{"x":-180, "y":-90}, "right":180, "rightTop":{"x":180, "y":83.62359619140628}}, "name":"Countries", "prjCoordSys":null, "datasourceConnectionInfo":null}, "queryable":true, "opaqueRate":100, "minVisibleGeometrySize":0.1, "name":"Countries@world", "bounds":{"top":83.62359619140628, "left":-180, "bottom":-90, "leftBottom":{"x":-180, "y":-90}, "right":180, "rightTop":{"x":180, "y":83.62359619140628}}, "style":{"fillGradientOffsetRatioX":0, "markerSize":2.4, "fillForeColor":{"red":224, "green":207, "blue":226, "alpha":255}, "fillGradientOffsetRatioY":0, "markerWidth":0, "markerAngle":0, "fillSymbolID":0, "lineColor":{"red":102, "green":102, "blue":102, "alpha":255}, "markerSymbolID":0, "lineWidth":0.1, "markerHeight":0, "fillOpaqueRate":100, "fillBackOpaque":false, "fillBackColor":{"red":255, "green":255, "blue":255, "alpha":255}, "fillGradientMode":"NONE", "lineSymbolID":0, "fillGradientAngle":0}, "displayOrderBy":null, "symbolScale":0, "minScale":0, "representationField":""}]}, "type":"UGC", "queryable":false, "opaqueRate":100, "minVisibleGeometrySize":0, "name":"世界地图", "bounds":{"top":83.62359619140628, "left":-180, "bottom":-90, "leftBottom":{"x":-180, "y":-90}, "right":180, "rightTop":{"x":180, "y":83.62359619140628}}, "symbolScale":0, "minScale":0}] |
3.5设置过滤条件
确定过滤条件后,可对上述字符串进行修改,现对3.4中字符串进行参数解释:
"name":"Countries":需要过滤的图层名称
"queryable":true:当前临时图层是否可查询,如果此参数为false,设置过滤条件无效
"displayFilter":null:设置过滤条件处,例如条件为smid>200,此参数可修改为:"displayFilter":"smid>200"
修改过滤条件后的字符串如下:
[{"completeLineSymbolDisplayed":false, "visible":true, "maxScale":0, "caption":null, "description":"", "symbolScalable":false, "subLayers":{"layers":[{"joinItems":null, "completeLineSymbolDisplayed":false, "ugcLayerType":"VECTOR", "displayFilter":"smid>200", "visible":true, "maxScale":0, "fieldValuesDisplayFilter":{"fieldName":"", "values":[], "fieldValuesDisplayMode":"DISABLE"}, "caption":"Countries@world", "description":"", "symbolScalable":false, "subLayers":{}, "type":"UGC", "datasetInfo":{"schema":null, "charset":null, "recordCount":0, "isFileCache":false, "description":null, "type":"REGION", "dataSourceName":"world", "tableName":null, "isReadOnly":false, "encodeType":null, "bounds":{"top":83.62359619140628, "left":-180, "bottom":-90, "leftBottom":{"x":-180, "y":-90}, "right":180, "rightTop":{"x":180, "y":83.62359619140628}}, "name":"Countries", "prjCoordSys":null, "datasourceConnectionInfo":null}, "queryable":true, "opaqueRate":100, "minVisibleGeometrySize":0.1, "name":"Countries@world", "bounds":{"top":83.62359619140628, "left":-180, "bottom":-90, "leftBottom":{"x":-180, "y":-90}, "right":180, "rightTop":{"x":180, "y":83.62359619140628}}, "style":{"fillGradientOffsetRatioX":0, "markerSize":2.4, "fillForeColor":{"red":224, "green":207, "blue":226, "alpha":255}, "fillGradientOffsetRatioY":0, "markerWidth":0, "markerAngle":0, "fillSymbolID":0, "lineColor":{"red":102, "green":102, "blue":102, "alpha":255}, "markerSymbolID":0, "lineWidth":0.1, "markerHeight":0, "fillOpaqueRate":100, "fillBackOpaque":false, "fillBackColor":{"red":255, "green":255, "blue":255, "alpha":255}, "fillGradientMode":"NONE", "lineSymbolID":0, "fillGradientAngle":0}, "displayOrderBy":null, "symbolScale":0, "minScale":0, "representationField":""}]}, "type":"UGC", "queryable":false, "opaqueRate":100, "minVisibleGeometrySize":0, "name":"世界地图", "bounds":{"top":83.62359619140628, "left":-180, "bottom":-90, "leftBottom":{"x":-180, "y":-90}, "right":180, "rightTop":{"x":180, "y":83.62359619140628}}, "symbolScale":0, "minScale":0}] |
3.6创建符合条件临时图层
修改字符框中字符串后,点击【创建临时图层】按钮即可。
3.7加载临时图层
点击【tempLayers】按钮,我们可以看到生成的临时图层缩略图
然后我们可以拿到当前临时图层对应的layersID,当前范例生成的临时图层ID为7d5e91bfc6f944c8b01189e8e36cd944_15c708944bd64860af193cd6ae7a8ae3
然后我们就可以在webgl中加载当前的临时图层
加载情况如下:
FAQ
- 生成临时图层时时候需要注意如果不修改默认请求体,生成的临时图层是与原始的地图显示一致;
- 在webgl加载临时图层时需要指定对应的layersID,即临时图层名。
WebGL加载地图临时图层解决方法相关推荐
- linux直接运行程序加载动态库失败,扣丁学堂Linux培训详解程序运行时加载动态库失败解决方法...
今天扣丁学堂Linux培训老师给大家介绍一下关于Linux程序运行时加载动态库失败的解决方法,希望对同学们学习有所帮助,下面我们一起来看一下吧. Linux下不能加载动态库问题 当出现下边异常情况 . ...
- maven不能加载ojdbc6.jar的解决方法
maven不能加载ojdbc6.jar的解决方法 参考文章: (1)maven不能加载ojdbc6.jar的解决方法 (2)https://www.cnblogs.com/wyw-blog/p/995 ...
- maven不能加载ojdbc14.jar的解决方法
maven不能加载ojdbc14.jar的解决方法 参考文章: (1)maven不能加载ojdbc14.jar的解决方法 (2)https://www.cnblogs.com/huanlingjisi ...
- Eclipse运行时无法加载主类的解决方法
Eclipse运行时无法加载主类的解决方法 参考文章: (1)Eclipse运行时无法加载主类的解决方法 (2)https://www.cnblogs.com/ibelieve618/p/636370 ...
- win7下计划任务schtasks使用详解及错误:无法加载列资源的解决方法1
win7下计划任务schtasks使用详解及"错误:无法加载列资源"的解决方法1 2011-12-10 20:33 schtasks 命令简述: 安排命令和程序,使其定期运行或在指 ...
- U盘加载速度慢的解决方法
在日常的生活和工作中,我们经常用U盘存储一些文件和程序.然而,一些朋友发现U盘有时候在使用过程中的识别加载速度非常缓慢.是U盘出故障了吗?其实不尽然,下面就为大家分享一下如何快速解决U盘加载缓慢的方法 ...
- vue 页面闪烁的问题_vue页面加载闪烁问题的解决方法
v-if 和 v-show 的区别 v-if只会在满足条件时才会编译,而v-show不管是否满足条件始终会编译,v-show的显示与隐藏只是简单的切换CSS的display属性. 也就是说,在使用v- ...
- vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者
v-if 和 v-show 的区别 v-if只会在满足条件时才会编译,而v-show不管是否满足条件始终会编译,v-show的显示与隐藏只是简单的切换 也就是说,在使用v-if时,若值为false,那 ...
- vs关于“当前不会命中断点 还没有为该文档加载任何符号”的解决方法
vs关于"当前不会命中断点 还没有为该文档加载任何符号"的解决方法 参考文章: (1)vs关于"当前不会命中断点 还没有为该文档加载任何符号"的解决方法 (2) ...
最新文章
- mysql用户权限与安装Linux操作系统
- combobox DataGridView
- php的异常详解,php5异常处理详解_php
- colab长时间处于正在连接
- 第 8 章 容器网络 - 061 - flannel 的连通与隔离
- excel生成mysql语句_通过SQL语句直接实现Excel与数据库的导入导出
- 00018_流程控制语句switch
- c 子类对象 访问父类对象受保护成员_面向对象的三大特征
- import pycharm setting_Pycharm不能正常使用的常见问题
- Python 语言使用中遇到的问题汇总
- h2ouve下载 insyde_神舟tx6zx6gx9tx9蓝天模具解锁bios高级菜单
- C语言实现SM4加解密
- 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
- jenkins 常用插件
- 设计模式-抽象工厂模式
- input button 光标变为手型
- JS时间处理插件MomentJS
- 量子笔记:多比特量子门
- TypeError Cannot instantiate abstract class xxx with abstract method
- IndexedDB 实践
热门文章
- SAP笑话 ABAP简称
- luoguP2324 [SCOI2005]骑士精神 IDA*
- 【程序23】 	题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 	问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大 	两岁。问第2个人,说比第一个人大两岁。最后问第一
- android盒子 小米遥控,小米盒子遥控器手机版下载-小米盒子遥控器appv6.0.0 安卓版 - 极光下载站...
- IP组播配置与管理实战——5
- JAVA实体类数据筛选转Map
- 【智能制造】智能制造技术与数字化工厂应用!
- 第19步:重用对话框
- 利用模板方法设计模式实现代码的利用的工程实践
- 一位友人做足这些准备,终于拿到了FaceBook的offer