Cesium可以直接访问网络上符合OGC标准的数据服务,有些服务可以用Tomcat直接部署,有些可以发布到Geoserver上面,本文主要讲访问Tomcat服务时出现的跨域问题解决方法。关于不同GIS数据(比如要素图层、倾斜数据、bim数据等发布成Cesium可以自由加载的数据,在另一篇文章中单独介绍)
Cesium是开源js库,数据通过Tomcat发布,当在js库中直接访问数据时,js程序和数据可以在一台电脑上,也可以在不同电脑上,如果在同一台电脑,直接通过相对路径即可访问,通过ip地址访问也不存在跨域问题,如果在不同电脑上,就可能出现跨域问题。访问数据时错误提示如下:
No ‘Access-Control-Allow-Origin’ header is present on the requested resource
解决办法:
1.下载jar包:地址:https://download.csdn.net/download/wqy248/10967103
2.到tomcat安装的服务器上找到tomcat目录,一般显示如下:
到lib目录下把刚才下载的两个jar包复制进去
3.修改conf文件夹中的web.xml文件,在最后加入:
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.重启tomcat
至此问题解决。