Cesium笔记 加载GeoServer服务,以及跨域问题

一、加载如下的GeoServer发布地图服务

Cesium笔记 加载GeoServer服务,以及跨域问题_第1张图片

加载代码如下,其中url为红线框选部分,layers为发布的图层NAME

//加载GeoServer图层,测试数据
            ShowTestData() {
                var layer = new Cesium.WebMapServiceImageryProvider({
                    url: 'url',
                    layers: 'pipelineGIS:YCYSZYSZYG',
                    parameters: {
                        service: 'WMS',
                        format: 'image/png',
                        transparent: true,
                    }
                });
                viewer.imageryLayers.addImageryProvider(layer);
            },

此时即为加载Geoserver服务成功,不过我在加载的时候,遇到如下的跨域问题

Cesium笔记 加载GeoServer服务,以及跨域问题_第2张图片

解决方法如下:

如果你的Chrome版本为49之前的,则在关闭所有网页,在Chrome桌面快捷方式,右键属性,目标 后添加 空格+--disable-web-security   

如果版本为49之后,快捷方式,右键属性,目标后添加    空格+--disable-web-security --user-data-dir=C:\ChromeUseData  其中C:\ChromeUseData为自己创建的文件夹

例如:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=C:\ChromeUseData

重新打开浏览器,出现如下,则证明成功

Cesium笔记 加载GeoServer服务,以及跨域问题_第3张图片

后续补充:用上述方法解决跨域问题只能自己本机可以访问,如果项目部署,也不可能去给每个机子得浏览器改设置,,所以还是需要其他方法。

首先下载下面两个包,放在./geoserver\WEB-INF\lib目录下 

下载地址:https://download.csdn.net/download/qq_40216244/12927072

然后再./geoserver\WEB-INF中得web.xml文件添加以下代码

 
    CORS 
    com.thetransactioncompany.cors.CORSFilter 
    
        cors.tagRequests
        true
    
 
 
    CORS 
    /* 

最后再重启Tomcat,以及Geoserver即可

你可能感兴趣的:(cesium,笔记,firefox,前端)