基于Openlayers和Arcgis Server REST实现地图(要素)点击查询功能


OpenLayers接收到返回的结果之后,也要进行坐标转换,从地理坐标转屏幕坐标,才能绘制图形。

还好,OpenLayers有这个功能,可以直接调用

/********定义select控制器***********/
var select = new ol.interaction.Select();
map.addInteraction(select);//map加载该控件,默认是激活可用的
select.on('select',function(e){
   console.log(e.selected);//打印已选择的Feature
});

如何自己实现呢?

利用ArcGIS Server REST提供的IdentifyTask接口

还有,例如多选。。。。

参考:https://www.cnblogs.com/klps/archive/2017/07/06/7125926.html

方法一:SELECT控制器

方法二:map的click事件

方法三:WMS图层的GetFeatureInfo

方法四:通过Geoserver的wfs查询

方法五:通过PostGIS实现点击查询

五种方法对比:前两种方法是针对矢量数据,一定要加到map的客户端,才能使用,如果是wms图层就不能用了。 第三种方法是wms图层,这时候前两种矢量方式没法处理,这时候用它就可以解决这个问题。 第四种方法不用加载到客户端显示,也能使用该方法查询。第五种方法则更进一步,就算服务没有发布,仅仅保存在数据库中,也能使用。第五种方法一般是用在数据量大时。

>>https://blog.csdn.net/u014529917/article/details/77504779圈选、框选、多边形选择


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM