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

需求场景:

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

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

示例地址:

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

相关代码:

function addRandomGraphicByCount(graphicLayer, position) {

  const graphicImg = new mars3d.graphic.DivGraphic({

    position,

    style: {

      html: `

                     

                   

                   

                   

                  `,

      offsetX: -16,

      distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 100000)

    },

    popup: ``,

    popupOptions: {

      offsetY: -170, // 显示Popup的偏移值,是DivGraphic本身的像素高度值

      template: `

                       

{content}

                        ×

                     

`,

      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博客

浮动轮播图效果

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

你可能感兴趣的:(vue,app,Mars3d,javascript,前端,vue.js)