<!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>自定义二维标签</title>
<style media="screen">
* {margin: 0;padding: 0;}
html,body{height:100%}
.main {display: flex;flex-direction: column;overflow: hidden;height: 100%; width: 100%;}
.model {flex: 1; }
</style>
<!-- 引用BIMFACE的JavaScript显示组件库 -->
<script src="https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>
</head>
<body>
<div id="domId" style="width:100%;height:800px"></div>
<script type="text/javascript">
var viewer3D;
var marker;
var viewToken = '224bc056e00e40e4841455df8edbd22b';
var position0=new Object();
position0={"x": 0, "y": 0, "z": 0};
// 初始化显示组件
var options = new BimfaceSDKLoaderConfig();
options.viewToken = viewToken;
BimfaceSDKLoader.load(options, successCallback, failureCallback);
function successCallback(viewMetaData) {
if (viewMetaData.viewType == "3DView") {
// 获取DOM元素
var WebAppConfig = new Glodon.Bimface.Application.WebApplication3DConfig();
WebAppConfig.domElement = document.getElementById('domId');
var app = new Glodon.Bimface.Application.WebApplication3D(WebAppConfig);
viewer3D = app.getViewer();
app.addView(viewMetaData.viewToken);
//三维标签的配置类
var markerConfig = new Glodon.Bimface.Plugins.Marker3D.Marker3DContainerConfig();
markerConfig.viewer = viewer3D;
marker = new Glodon.Bimface.Plugins.Marker3D.Marker3DContainer(markerConfig);
viewer3D.addEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.ViewAdded, function() {
// tupian()
});
viewer3D.addEventListener(Glodon.Bimface.Viewer.Viewer3DEvent.MouseClicked,function(objectData) {
if(objectData && objectData.objectId){
tupian(objectData)
// add3DMarker( objectData.worldPosition);
//
//
}
console.log("获得坐标的地方")
console.log(objectData.worldPosition)
//自适应屏幕大小
// window.onresize=function(){
// viewer3D.resize(document.documentElement.clientWidth,document.documentElement.clientHeight-40)
// }
});
}}
function failureCallback(error){
};
//增加三维标签的方法
function tupian(objectData){
// 首先创建DrawableContainer
var drawaleContainerConfig = new Glodon.Bimface.Plugins.Drawable.DrawableContainerConfig();
drawaleContainerConfig.viewer = viewer3D;
var drawableContainer = new Glodon.Bimface.Plugins.Drawable.DrawableContainer(drawaleContainerConfig);
var imageConfig = new Glodon.Bimface.Plugins.Drawable.ImageConfig();
// 设置自己的imageUrl
imageConfig.src = "logo.png";
// 通过selection change可以得到构件ID和坐标
imageConfig.worldPosition = objectData.worldPosition;
var image = new Glodon.Bimface.Plugins.Drawable.Image(imageConfig);
//图片的点击事件
image.onClick(function() {
var id=image.id;
alert(id);
});
//添加image
drawableContainer.addItem(image);
}
</script>
</body>
</html>
因为viewtoken的时效较短,需要12小时换一次