基于vue全景-Pannellum 项目开发

本文介绍了如何使用Vue.js结合Pannellum库进行全景图项目开发,包括从官网下载引入资源,创建全景对象的JS代码示例,以及详细讲解了多场景设置和事件触发机制。
摘要由CSDN通过智能技术生成

一.下载引入 

需先从官网下载并引入文件

  <link rel="stylesheet" href="static/pannellum/pannellum.css"/>
  <script type="text/javascript" src="static/pannellum/pannellum.js"></script>

二.创建全景对象 

<div id="panorama" v-show="showscence" ></div>

js部分 

pannellum.viewer('panorama', {
    "type": "equirectangular",
    "panorama": "https://pannellum.org/images/alma.jpg",//全景图片
    "title":"标题",
    "autoLoad":true,//是否自动加载
    "autoRotate":2,//是否自动旋转 正数顺时针 负数逆时针
    "showControls":false,//显示控件 默认为true
    "preview":"",//封面图
    "hotSpots":[ //热点
        {
          "pitch": -3.1,
          "yaw": -99,
          "type": "info",
          "sceneId": "3",
        }
    ]   
});

多场景设置

let viewer = new pannellum.viewer("panorama", {
  default: {
    firstScene: "1",
    sceneFadeDuration: 1000,//场景切换持续时间
    autoLoad: true,
    title: "",
  },
  scenes: {
    "1": {
      "hfov": 110,
      "pitch": -3,
      "yaw": 117,
      type: "equirectangular",
      panorama: "static/images/1.jpg",
      hotSpots: [
        {
          pitch: -1.8,
          yaw: -42.3,
          type: "scene",
          sceneId: "2",
        },
      ],
    },
    "2": {
      type: "equirectangular",
      panorama: "static/images/2.jpg",
      hotSpots: [
        {
          pitch: -3.1,
          yaw: -99,
          type: "scene",
          sceneId: "3",
        },
      ],
    },
  },
});
//多场景时可添加场景
viewer.addScene('1',{
  "type": "equirectangular",
  "panorama": "static/images/3.jpg",
  "hotSpots": [
      {
          "pitch": -3.1,
          "yaw": -99,
          "type": "scene",
          "sceneId": "3"
      }
  ]
});

三.事件触发

//鼠标点击触发 可以获取点击的俯角和偏航
viewer.on('mouseup',function(e){
   this.PitchYaw =viewer.mouseEventToCoords(e)
})

//获取当前俯角与偏航
viewer.getPitch() 
viewer.getYaw()

//场景自动加载
viewer.loadScene(sceneId)

//获取当前场景配置
viewer.getConfig()

//加载移除场景
viewer.loadScene(sceneId)
viewer.removeScene(sceneId)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值