geoserver jsonp 跨域获取数据

早过忘川 提交于 2019-12-05 13:33:05

geoserver jsonp 跨域获取数据

修改web.xml中的配置

<context-param>
    <param-name>ENABLE_JSONP</param-name>
    <param-value>true</param-value>
</context-param>
var tiled_01GKDw = new ol.layer.Tile({
            visible: true,
            source: new ol.source.TileWMS({
                url: 'http://geoserver.zhatu.jinan.czczh.cn/geoserver/ztc/wms',
                params: {
                    'FORMAT': 'image/png8',
                    'VERSION': '1.1.1',
                    tiled: true, // 使用瓦片图
                    "LAYERS": 'ztc:ztc_road', // 使用的图层
                    "exceptions": 'application/vnd.ogc.se_inimage',
                },
                projection: 'EPSG:4326'
            })
        });
        var map = new ol.Map({
            target: 'map',
            maxResolution: "auto",
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.OSM(),
                    projection: 'EPSG:4326'
                }),
                tiled_01GKDw,
            ],
            view: new ol.View({
                center: ol.proj.fromLonLat([116.98, 36.67]),
                zoom: 10,
            })
        });


        function getResult(res) {
            // jsonp的回调函数 geoserver默认 回调函数名称为parseResponse
            console.log("getResult")
            console.log(res);
        }
        map.on('singleclick', function (evt) {
            var view = map.getView();
            var viewResolution = view.getResolution();
            var source = tiled_01GKDw.getSource();
            var url = source.getGetFeatureInfoUrl(
                evt.coordinate,
                viewResolution,
                view.getProjection(), {
                    'INFO_FORMAT': 'text/javascript',  // JSONP 所需要的格式
                    "format_options": "callback:getResult"  // callback:指定jsonp响应格式的回调函数名称(默认为parseResponse)
                });
            console.log(url);
            $.ajax({
                url: url,
                dataType: 'jsonp', // 使用jsonp
                jsonpCallback: 'getResult' // 与format_options一致
            });


        });

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!