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圈选、框选、多边形选择