一直以来用cesium添加模型的时候,用的都是在线或者是别人发布好的模型,有时候自己测点东西非常不方便。

现在来说一下本地发布3dtiles模型的方法,仅供大家参考;

第一种:iis发布

1、首先本地配置iis容器,传送门(https://blog.csdn.net/staunchkai/article/details/78975865),这里是配置iis的教程,我就不一一赘述了。

2、发布3dtiles文件。

     a、解压3dtiles文件目录,下面是解压后的结构,最主要的就是这个tileset.json了,cesium加载3dtiles文件时,会读取这个                 json,并解析。

            

     b、放到iis目录下,新建应用程序

 

    c、然后配置iis的mime头,防止b3dm请求跨域

 

   d、获取模型访问地址

 

以上即为iis发布3dtiles的全部步骤。

第二种:tomcat发布3dtiles 

首先安装tomcat和jdk,配置环境变量,这个就不说了,网上有很多的案例。下面重点来说下怎么发布3dtiles以及解决跨域问题。

1、将3dtiles模型文件放入tomcat的webapps目录下。

此时直接访问此3dtiles会报跨域的错误。下面来配置web.xml,来允许跨域。

2、配置web.xml

配置如下:

<!--tomcat跨域配置-->
<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>

3、引入对应的跨域处理jar包(下载地址:https://download.csdn.net/download/caozl1132/11759866

4、测试加载(如下即可正确加载出3dtiles模型)。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐