SuperMap iClient for classic已经实现对接WFS服务,可以对WFS进行查询并展示出查询的结果,但是官网范例中,目前没有关于Openlayers客户端的示例,在此文章中将简单介绍iClient for Openlayers如何实现WFS查询功能。

前期准备

  1. WFS服务地址,此次使用的地址是SuperMap官方的wfs服务地址:“http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100”;
  2. 引用的js文件有include-openlayers.js,jquery.min.js和SuperMap-8.1.1-17226.js;

成果截图

图中红框内的小圆圈是定位在北京的查询结果,此次的查询范例实现的是根据SMID查询北京所在位置的功能。

主要代码实现过程


function loadWFS(){$.ajax({url:' http://support.supermap.com.cn:8090/iserver/services/data-world/wfs100',type:'POST',contentType: 'text/plain;charset=UTF-8', // 这里必须设置,否则会默认以form表单数据进行发送 traditional: true, data: '<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" version="1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd">'+'<wfs:Query typeName="World:capital" xmlns:World="http://www.supermap.com/World">'+'<wfs:PropertyName>SMY,SMX,SMUSERID,SMLIBTILEID,SMID,SMGEOMETRYSIZE,COUNTRY,CAP_POP,CAPITAL,the_geom</wfs:PropertyName>'+'<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">'+'<ogc:PropertyIsEqualTo xmlns:ogc="http://www.opengis.net/ogc">'+'<ogc:PropertyName>SMID</ogc:PropertyName>'+'<ogc:Literal>170</ogc:Literal>'+'</ogc:PropertyIsEqualTo>'+'</ogc:Filter>'+'</wfs:Query>'+'</wfs:GetFeature>',success:loadWFSHandler,error:function (rst) {console.log('request error.')}})function loadWFSHandler(gmlString){var GMLRead= new SuperMap.Format.GML().read(gmlString);//读取GML格式的数据var geoJsonString = new SuperMap.Format.GeoJSON().write(GMLRead,false);//将GML格式的数据写成GeoJSON格式var point=JSON.parse(geoJsonString);//解析GeoJSON格式的数据为JavaScript对象var vectorSource = new ol.source.Vector({features: (new ol.format.GeoJSON()).readFeatures(point)});    //将数据显示在地图上var vectorLayer = new ol.layer.Vector({source: vectorSource});map.addLayer(vectorLayer);}

ogc:Filter的过滤参数用来设置查询限制条件,空间的或非空间的限制条件都可以进行设置,可用来限制 GetFeature 操作的结果,即要素结果集。本次示例中使用的是PropertyIsEqualTo,即PropertyName字段的值等于Literal的情况。

小结

本次范例的演示只是基于WFS的查询功能,对于WFS来说可以做到增删改查的功能,基于本范例的代码稍作更改可以实现。

SuperMap iClient for Openlayers 实现WFS查询功能相关推荐

  1. SuperMap iClient for MapboxGL 实现WFS查询功能

    SuperMap iClient for classic已经实现对接WFS服务,可以对WFS进行查询并展示出查询的结果,但是官网范例中,目前没有关于MapboxGL客户端的示例,在此文章中将简单介绍i ...

  2. SuperMap iClient for Leaflet实现WFS查询功能

    SuperMap iClient for classic已经实现对接WFS服务,可以对WFS进行查询并展示出查询的结果,但是官网范例中,目前没有关于Leaflet客户端的示例,在此文章中将简单介绍iC ...

  3. SuperMap iClient for OpenLayers图层组控制实现方法

    作者:Carlo 前景:在使用SuperMap iClient for JavaScript产品过程中,经常有一些小伙伴会问如何用iClient for OpenLayers实现类似于Classic官 ...

  4. SuperMap iClient for JavaScript 实现拖动半径进行距离查询

    作者:sniper 前一段时间有很多朋友问我,怎么用SuperMap iClient for JavaScript实现类似百度地图或高德地图那样拖动一个按钮选择半径,从而查询附近的地理要素.因此,我们 ...

  5. openlayers实现wfs属性查询和空间查询

    概述: 一直在寻求openlayers中wfs加载和属性查询的相关操作,功夫不负有心人,蓦然回首,那人却在灯火阑珊处,找到了这篇博文:http://blog.csdn.net/longshengguo ...

  6. SuperMap iClient for Leaflet对EPSG:4509图加载滑动查询

    作者:John SuperMap iClient for Leaflet对EPSG:4509地图加载&滑动查询 在WebGIS开发使用中,我们会遇到地图显示不了,以及查询到数据显示不出的问题, ...

  7. Openlayers的空间查询wfs

    Openlayers的空间查询,下面主要包括三种查询,分别是点击地图查询,过滤条件查询,多边形查询等.说明的文字不是很多,直接看代码,最后提供一份完整的代码,直接复制到html中就可以运行. 1.点击 ...

  8. 在SuperMap iClient 9D for MapboxGL中使用ECharts和MapV

    作者: MR. SuperMap iClient 9D 是云GIS网络客户端开发平台.基于现代Web技术栈全新构建,是SuperMap云四驾马车和在线GIS平台系列产品的统一JS客户端.集成了领先的开 ...

  9. java取geosever数据,终于搞定了GeoServer的WFS查询

    上一周,我在学习OpenLayers.一开始是用Image做数据,后来发现图片的分辨率始终有限,就想到动态获取数据.立即想到了以前在SKY看过的图片切片 ,MS太难了.不过OpenLayers作为轻量 ...

最新文章

  1. Moebius实现Sqlserver集群~介绍篇
  2. jQuery 选择器中的空格问题
  3. 三阶矩阵的lu分解详细步骤_数学 - 线性代数导论 - #4 矩阵分解之LU分解的意义、步骤和成立条件...
  4. 【Java线程】进程与线程
  5. python scatter 简书_【挖掘模型】:Python-DBSCAN算法 - 简书
  6. 【Ids4实战】深究配置——用户信息操作篇
  7. 检查电脑是否被安装***三个小命令
  8. 3DES加密算法原理
  9. 笔记本计算机左侧插,笔记本电脑插上耳机还有外音的解决方法
  10. linux ps 主进程,Linux ps 查看进程
  11. C#调用支付宝转账接口 已调通
  12. 论文笔记 Acquiring Common Sense Spatial Knowledge through Implicit Spatial Templates (AAAI2018)
  13. 用Java实现代码字符画效果
  14. android 生物识别_将生物识别提示与cryptoobject一起使用
  15. Android App屏幕旋转要点
  16. 设计模式(三)策略模式——在Spring中使用策略模式
  17. m2e-wtp的作用
  18. WM_KILLFOCUS和WM_SETFOCUS
  19. SCI/ISTP和EI论文检索号IDS number和收录号查询方法
  20. Maya插件的十个究极技巧,不会等着老板让你哭

热门文章

  1. java项目问题 The content of element type servlet must match (icon?,servlet-name,display-name?,descrip
  2. 客户下单服务器代码实现之实现后台系统自动分单
  3. MQTT消息服务——EMQ
  4. 网页宽度自动适应手机屏幕宽度的方法
  5. 计算机打印驱动怎么安装,打印机安装步骤,教您电脑怎么安装打印机驱动
  6. 云侧还是边侧?英码科技在边缘计算突围的“方法论”
  7. 一键部署FISCO BCOS全家桶开发者环境
  8. 什么是LikeLib?
  9. IData T1扫码终端H5 扫码实现
  10. Mac Idea 快捷键(常用且更新)