有时候我们不想加载WFS服务来获取要素的属性信息,我们就想加载WMS或者WMTS获取属性信息,geoserver客户端给我提供一种实现是返回html,这种方式受限太大,如果能返回json格式的数据那多好!这样我们就可以自己定义展示的效果了,在这里我首先想到的是通过点击事件配合Ajax 来加载WMS的GetFeatureInfo,但是发现总是提示跨域问题,明明我都已经配置了跨域,怎么还会报这个错呢?后来通过jsonp格式解决,但是又开始报Uncaught ReferenceError: parseResponse is not defined,差个各种资料最后通过format_options参数解决问题,具体东西见下文:
一、WMS的GetFeatureInfo介绍
1、功能
获取点击对象的属性信息,类似于WFS的 GetFeature,但是在输入和输出格式上受限,官方还是推荐WFS
2、主要的参数
详细见WMS详细介绍
3、关于输出格式(这里我们输出的json格式)
但是要解决跨域的问题需要用到jsonp,那么返回信息的格式不能用application/json而要用text/javascript
详细参考官网