Vue 10分钟入门VR全景显示 基于photo-sphere-viewer


前言

由于工作的需求,要实现全景图片的展示与预览,本来以为会是一个很难的内容,没想到使用现成的组件photo-sphere-viewer就可以轻松实现,上手只需要10分钟!


一、引入photo-sphere-viewer?

可以直接通过npm进行引入

npm install photo-sphere-viewer

二、使用步骤

1.引入库

photo-sphere-viewer 都是采用按需引入,用到哪个模块就引入哪个模块

import {Viewer} from 'photo-sphere-viewer' // 引入组件
import 'photo-sphere-viewer/dist/photo-sphere-viewer.css' // 引入样式

2.声明容器

在Vue文件中声明一个容器,以便将photo-sphere-viewer 在页面中显示

<template>
  <div id="viewer"></div>
</template>

3.内容加载

编写JS方法

export default {
  data(){
    return{
      viewer:'', // 声明一个视图对象,以便后期全局进行组件的操作
      imgurl1:require('../../assets/images/testImg.jpg'), // 全景图的图片
    }
  },
  mounted(){
    this.viewer = new Viewer({
      // (必需的) 将包含全景图或元素标识符的 HTML 元素
      container:document.querySelector('#viewer'), 
      // (必需的) 全景路径。必须是默认 equirectangular 适配器的单个 URL。其他适配器支持其他值。
      // photo-sphere-viewer支持多种适配器,这里讲到的是默认的 equirectangular 适配器,使用起来最为简单,但是要求图片必须为全景图
      panorama: this.imgurl1,
      // 这里定义展示视图的大小,也可以通过CSS在样式中定义
      size:{
        width: '80vw',
        height: '80vh',
      },
    });
  }
}

写到这里你的全景图就应该已经加载完成了!我将用到的图片放在下方,需要测试的请自取

请添加图片描述

4.全部代码

为了方便广大同志的快速复制粘贴,我将页面的全部代码进行统一展示

<template>
  <div id="viewer"></div>
</template>
<script>
import {Viewer} from 'photo-sphere-viewer'
import 'photo-sphere-viewer/dist/photo-sphere-viewer.css'
export default {
  data(){
    return{
      viewer:'',
      imgurl1:require('../../assets/images/XXX.jpg'), // 这里替换成自己的路径
    }
  },
  mounted(){
    this.viewer = new Viewer({
      container:document.querySelector('#viewer'),
      panorama: this.imgurl1,
      size:{
        width: '80vw',
        height: '80vh',
      },
    });
  }
}
</script>

总结

这片文章只介绍了photo-sphere-viewer的最基础的用法,photo-sphere-viewer同时还支持很多强大的插件,可以方便的使用锚点等组件完成复杂的交互。
更多的内容大家可以仔细的阅读官网提供的文档,链接放在下发自取
🔗 https://photo-sphere-viewer.js.org

  • 7
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 `vue-photo-sphere-viewer` 库来集成 `photo-sphere-viewer` 到 Vue.js 4 中,然后在组件中使用这个库的 API 来实现图片切换。具体步骤如下: 1. 安装 `vue-photo-sphere-viewer` 库: ```bash npm install vue-photo-sphere-viewer --save ``` 2. 在组件中引入 `vue-photo-sphere-viewer` 库: ```javascript import PhotoSphereViewer from 'vue-photo-sphere-viewer'; import 'photo-sphere-viewer/dist/photo-sphere-viewer.css'; ``` 3. 在模板中使用 `PhotoSphereViewer` 组件,并绑定图片路径和其他属性: ```html <template> <div> <photo-sphere-viewer :panoramaUrl="panoramaUrl" :defaultLongitud="defaultLongitud" :defaultLatitud="defaultLatitud" :defaultZoom="defaultZoom" :size="size" :minZoom="minZoom" :maxZoom="maxZoom" @ready="onReady" ></photo-sphere-viewer> </div> </template> ``` 其中,`panoramaUrl` 是图片路径,`defaultLongitud`、`defaultLatitud` 和 `defaultZoom` 是初始位置和缩放级别,`size` 是全景图像素大小,`minZoom` 和 `maxZoom` 是缩放级别的最小值和最大值。 4. 在组件的 `methods` 中定义 `onReady` 方法来获取 `PhotoSphereViewer` 实例,并调用 `setPanorama` 方法来切换图片: ```javascript methods: { onReady(viewer) { this.viewer = viewer; }, switchImage(imagePath) { this.viewer.setPanorama(imagePath); }, } ``` 然后你可以在组件的其他方法中调用 `switchImage` 方法来切换图片。 ```javascript this.switchImage('/path/to/another/image.jpg'); ``` 注意,这里的 `vue-photo-sphere-viewer` 库只是 `photo-sphere-viewer` 的 Vue.js 封装,你还需要在项目中引入 `photo-sphere-viewer` 库本身。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值