Tomcat发布瓦片TMS数据,Cesium加载显示:还是跨域处理
1、使用某地图下载器下载地图数据
2、点击右上角“导出”按钮,如上右图。存储格式选择“瓦片:tms”,图片格式png即可,选择保存位置,导出。
3、将导出的瓦片目录复制到tomcat wabapps目录下,文件名ArcGIS_TMS,下面0-7级瓦片。
4、Cesium中加载
var viewer = new Cesium.Viewer('cesiumNCSE');
var layers = viewer.imageryLayers;
var provider = new Cesium.WebMapServiceImageryProvider({
url: 'http://localhost:8082/geoserver/wms',
layers: 'nurc:Arc_Sample',
parameters: {
service : 'WMS',
format: 'image/png',
transparent: true,
}
});
layers.addImageryProvider(provider);
var blackMarble = layers.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
url : 'http://localhost:8082/ArcGIS_TMS'
}));
5、如果Cesium无法显示,则需要对Tomcat做跨域处理,做法如下:
首先下载cors-filter-2.5.jar和java-property-utils-1.9.1
1、把这两个jar包放在tomcat的lib下。
2、在conf文件夹下找到web.xml。
3、在web.xml中添加如下代码:
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, PUT, DELETE</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>
</init-param>
<init-param>
<param-name>cors.exposedHeaders</param-name>
<param-value>Set-Cookie</param-value>
</init-param>
<init-param>
<param-name>cors.supportsCredentials</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6、大功告成。终于显示。