一、加载如下的GeoServer发布地图服务
加载代码如下,其中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服务成功,不过我在加载的时候,遇到如下的跨域问题
解决方法如下:
如果你的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
重新打开浏览器,出现如下,则证明成功
后续补充:用上述方法解决跨域问题只能自己本机可以访问,如果项目部署,也不可能去给每个机子得浏览器改设置,,所以还是需要其他方法。
首先下载下面两个包,放在./geoserver\WEB-INF\lib目录下
下载地址:https://download.youkuaiyun.com/download/qq_40216244/12927072
然后再./geoserver\WEB-INF中得web.xml文件添加以下代码
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.tagRequests</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后再重启Tomcat,以及Geoserver即可