需求场景:
官网的示例链接的浮动监控点示例,实现的是播放视频。
但是我的需求场景是播放轮播图,此时该怎么实现呢?
示例地址:
功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技
相关代码:
function addRandomGraphicByCount(graphicLayer, position) {
const graphicImg = new mars3d.graphic.DivGraphic({
position,
style: {
html: ` <div class="mars3d-camera-content">
<img class="mars3d-camera-img" src="img/icon/camera.svg" >
</div>
<div class="mars3d-camera-line" ></div>
<div class="mars3d-camera-point"></div>
`,
offsetX: -16,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 100000)
},
popup: `<video src='http://data.mars3d.cn/file/video/lukou.mp4' controls autoplay style="width: 300px;" ></video>`,
popupOptions: {
offsetY: -170, // 显示Popup的偏移值,是DivGraphic本身的像素高度值
template: `<div class="marsBlackPanel animation-spaceInDown">
<div class="marsBlackPanel-text">{content}</div>
<span class="mars3d-popup-close-button closeButton" >×</span>
</div>`,
horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
verticalOrigin: Cesium.VerticalOrigin.CENTER
}
})
graphicLayer.addGraphic(graphicImg)
}
解决思路:
1.new mars3d.graphic.Popup({不仅支持字符串也支持传入一个dom对象,只要能够拿到轮播组件的dom对象,传入即可。
思路:
1. 先加载出轮播图组件(可以不显示)原生js获取dom。
2. new Vue 之后可以拿到dom对象
3. 通过webcomponents 自定义 html(可当成html使用)
参考:
开源版本vue基础项目或功能示例内 src\widgets\basic\query-poi\query-popup.vue
基础项目链接:mars3d-vue-project: 在Vue 3.x技术栈下的Mars3D平台 基础项目
博客地址:使用vue组件实现mars3d的popup或tooltip_vue中3d页面上出现个小弹框怎么设计-CSDN博客
浮动轮播图效果文章来源:https://www.toymoban.com/news/detail-805060.html
文章来源地址https://www.toymoban.com/news/detail-805060.html
到了这里,关于new mars3d.graphic.Popup({实现插入轮播图组件的思路参考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!