new mars3d.graphic.Popup({实现插入轮播图组件的思路参考

需求场景:

官网的示例链接的浮动监控点示例,实现的是播放视频。

但是我的需求场景是播放轮播图,此时该怎么实现呢?

示例地址:

功能示例(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博客

浮动轮播图效果

相关推荐
LucianaiB3 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel3 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易5 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰7 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒7 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手7 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz7 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易8 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么8 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share8 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js