在JS中调用离线数据包
当离线数据包部署到本地服务器以后,按照以下方式集成JavaScript即可完成整个流程。本质上,离线数据包和在线访问相比,只是数据访问路径发生了变化,因此,进行如下三个设置即可。
1、确定离线数据包的部署路径
在线模式下,通常需要根据fileId、integrateId……获取viewToken,以便于确定应该显示哪个模型或图纸。而部署离线数据包之后,该步骤已经省略。
假设,你的离线数据包部署在:
http://{你的域名或IP地址}/bimface/cea1da8a380fd215b01bff8c58312839/(注:cea1da8a380fd215b01bff8c58312839是数据包解压后的根目录)
那么,上述路径就是你某个模型数据包的部署目录
2、引用离线数据包中的JSSDK
改变之前引用JS组件的方式,直接引用数据包中的JSSDK(仅支持相对路径)
<script src="./jssdk/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>
3、初始化Viewer的配置
改变BimfaceLoaderConfig的两个配置项:
1、BimfaceLoaderConfig.env
2、BimfaceLoaderConfig.path
如:
var options = new BimfaceSDKLoaderConfig();
options.env = BimfaceEnvOption.Local;
options.path = './viewToken.json';//(仅支持相对路径)
一个完整的例子
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>your page title</title>
<script src="./jssdk/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>
</head>
<body>
<!-- 定义DOM元素,用于在该DOM元素中显示模型或图纸 -->
<div id="domId" style="width:900px; height:600px"></div>
<script type="text/javascript">
// 初始化显示组件
var options = new BimfaceSDKLoaderConfig();
options.env = BimfaceEnvOption.Local;
options.path = './viewToken.json';
BimfaceSDKLoader.load(options, successCallback, failureCallback);
function successCallback(viewMetaData) {
// 创建WebApplication,直接显示模型或图纸
var dom4Show = document.getElementById('domId');
new Glodon.Bimface.Application.WebApplicationDemo(viewMetaData, dom4Show);
}
function failureCallback(error) {
console.log(error);
};
</script>
</body>
</html>