vue使用 BIMFACE demo
vue使用 BIMFACE demo
一个小案例
首先在 index.html 文件引入 js 文件
<script src="https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js"></script>
然后在相应的页面编写 bim 代码。其实官网给的demo都是js的,只要把它转成vue语法就可以了。
https://bimface.com/developer-jsdemo
<template>
<div style="height: 90%;">
<div class='buttons'>
<button class="button" id="btnLoadMap" @click="loadMap">加载地图</button>
</div>
<!-- 定义DOM元素,用于在该DOM元素中显示模型或图纸 -->
<div id="domId" style="height: 100%;"></div>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data() {
return {
viewToken: '24448941b05340968a92ae84a2a*****', // 这里替换成自己的
viewer3D: '',
app: '',
viewAdded: false,
isMapLoaded: false,
loaderConfig: null,
}
},
mounted() {
var that = this
var options = new BimfaceSDKLoaderConfig();
options.viewToken = that.viewToken;
BimfaceSDKLoader.load(options, that.successCallback, that.failureCallback);
},
methods: {
setButtonText(btnId, text) {
var dom = document.getElementById(btnId);
if (dom != null && dom.nodeName == "BUTTON") {
dom.innerText = text;
}
},
// 加载成功回调函数
successCallback(viewMetaData) {
var that = this
var dom4Show = document.getElementById('domId');
// 设置WebApplication3D的配置项
var webAppConfig = new Glodon.Bimface.Application.WebApplication3DConfig();
webAppConfig.domElement = dom4Show;
webAppConfig.enableLogarithmicDepthBuffer = true;
// 创建WebApplication3D,用以显示模型
var app = new Glodon.Bimface.Application.WebApplication3D(webAppConfig);
app.addView(viewMetaData.viewToken);
var viewer3D = app.getViewer();
that.viewer3D = viewer3D;
// 增加加载完成监听事件
viewer3D.addEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded, function () {
that.viewAdded = true;
//自适应屏幕大小
window.onresize = function () {
viewer3D.resize(document.documentElement.clientWidth, document.documentElement.clientHeight - 40)
}
// 渲染场景
viewer3D.render();
});
},
// 加载失败回调函数
failureCallback(error) {
console.log(error);
},
// 添加构件嵌套关系
loadMap() {
var that = this
if (!that.viewAdded) {
return;
}
if (!that.isMapLoaded) {
// 构造地图配置项
var mapConfig = new Glodon.Bimface.Plugins.TileMap.MapConfig();
mapConfig.viewer = that.viewer3D;
// 设置模型载入的基点
mapConfig.basePoint = {
"x": -85689.088,
"y": -62066.347
}
mapConfig.modelPosition = [121.63259566511255, 29.837978723638756];
mapConfig.modelRotationZ = 0 * Math.PI / 180;
mapConfig.modelAltitude = 0;
// 构造地图对象
var map = new Glodon.Bimface.Plugins.TileMap.Map(mapConfig);
}
}
},
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
* {
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
}
.buttons {
font-size: 0;
}
.button {
margin: 5px 0 5px 5px;
width: 100px;
height: 30px;
border-radius: 3px;
border: none;
background: #32D3A6;
color: #FFFFFF;
}
.main {
display: flex;
flex-direction: column;
overflow: hidden;
height: 100%;
}
#domId {
}
</style>
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2018-04-20 Android 拖动条 和 Handle
2018-04-20 Android 菜单等控件编程
2018-04-20 Android 数据存储
2018-04-20 Android MediaPlayer 操作
2018-04-20 Android 适配器
2018-04-20 Android 深入理解Activity 页面Intent跳转
2018-04-20 Android java 多线程(三)