vue 项目中使用photo-sphere-viewer实现vr720度全景图片预览

news/2024/11/22 20:50:53/

最近项目中要求vr功能,可以进行图片的全景查看,在此,用到了vue里的一个实现全景预览的插件:photo-sphere-viewer。移动端和PC端都可以使用:下面给大家介绍一下使用步骤及方法。
1、安装 photo-sphere-viewer依赖

 npm install  photo-sphere-viewer --save-dev

2、引入:在你需要使用的页面引入插件

  import {Viewer} from 'photo-sphere-viewer'import MarkersPlugin from 'photo-sphere-viewer/dist/plugins/markers'import 'photo-sphere-viewer/dist/photo-sphere-viewer.css'import 'photo-sphere-viewer/dist/plugins/markers.css';

3、接下来就可以正常使用

<div id="viewer"></div>
  import {getBizSectionVrList} from "../../../api/api";//调用接口import {Toast} from "vant";//消息提示import {baseUrlMobile} from '../../../api/http'//调用后台接口export default {data(){return{profileName:'',profileId:'',viewer:'',imageList:[]}},mounted(){this.getProfileVRInfoList()// this.initPhotoSphere(this.imageList)},beforeMount() {this.profileName=this.$route.query.profileNamethis.profileId=this.$route.query.profileId},methods:{initPhotoSphere(imageList){let _this=thislet i=0_this.viewer = new Viewer({container:document.querySelector('#viewer'),panorama:baseUrlMobile+imageList[i].filePath,caption: _this.profileName,navbar:true,size: {width: '100%',height: _this.isMobile()? screen.availHeight : '100%'},navbar: ['autorotate','zoom','markers','caption','fullscreen'],plugins: [[MarkersPlugin, {markers: [{id:'circle',image:require('../../../../static/icon/location.png'),width:42,height:42,longitude: 20,latitude:-0.15,anchor:'bottom center',className:'markers',tooltip:{content : '欢迎进入下一场景',position: 'bottom left'},visible:true}],}],],});const markersPlugin = _this.viewer.getPlugin(MarkersPlugin);markersPlugin.on('select-marker', (e, marker) => {this.viewer.animate({longitude: marker.config.longitude,latitude: marker.config.latitude,zoom: 100,speed: '-2rpm',}).then(() =>{i=i+1 ===baseUrlMobile+imageList.length?0:i+1;this.viewer.setPanorama(baseUrlMobile+imageList[i].filePath).then(() =>{markersPlugin.updateMarker({id: marker.id,longitude: -1.8,latitude: -0.28,}),this.viewer.animate({zoom: 50,speed: '2rpm',}).then(() =>{imageList[i].filePath = baseUrlMobile+imageList[i].filePath;})})})});},isMobile() {let ua = navigator.userAgent;let ipad = ua.match(/(iPad).*OS\s([\d_]+)/),isIphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/),isAndroid = ua.match(/(Android)\s+([\d.]+)/),isMobile = isIphone || isAndroid;return isMobile;},onClickLeft(){this.$router.push({path: '/Navigation',query:{profileId:this.profileId,profileName:this.profileName}})},getProfileVRInfoList(){getBizSectionVrList(this.profileId).then((res) => {if (res.code == 200) {this.imageList = res.rows;if (res.rows.length == 0) {this.isData = false;} else {this.isData = true;this.$nextTick(() => {this.initPhotoSphere(this.imageList);});}} else {Toast.fail(res.msg);}});}},}

http://www.ppmy.cn/news/280179.html

相关文章

vue 配合 photo-sphere-viewer 实现全景图展示

项目中有个新需求展示全景图&#xff0c;也找过了多个插件&#xff0c;还是这个插件简单易懂。 一、下载依赖 npm install photo-sphere-viewer --save yarn add photo-sphere-viewer 下载好依赖就可以开始使用了 二、使用 <!-- 全景看图 --> <template><…

Vue使用photo-sphere-viewer360°×180°全景图全网最新(二)

依赖:npm install photo-sphere-viewer --save-dev 代码&#xff1a; <template><div class"demo-container"><!-- 测试 --><div id"viewer"></div></div> </template><script> import { Viewer } from &…

如何免费下载高清全景图 :全景管家

疫情之下&#xff0c;加上互联网的冲击&#xff0c;&#x1f9cd;各个行业的实体店都非常艰难。客流量少&#xff0c;成本高&#xff0c;租金贵&#xff0c;时代在变&#xff0c;怎样才能提高客流量呢&#xff1f;那就用vr全景看看吧。如何下载适合商家的高清全景图&#xff1f…

18.5:给定一个栈,请逆序这个栈,不能申请额外的数据结构,只能使用递归函数

给定一个栈&#xff0c;请逆序这个栈&#xff0c;不能申请额外的数据结构&#xff0c;只能使用递归函数 package algorithmbasic.class18;import java.util.Stack;//给定一个栈&#xff0c;请逆序这个栈&#xff0c;不能申请额外的数据结构&#xff0c;只能使用递归函数 publi…

UE4_UE5全景相机

分享一个全景相机插件&#xff0c;可直接用于渲染全景视频、制作全景体验场景等使用。 一、分别提供了从UE4.25到UE5的版本 二、以及有各种业务场景下的使用教程视频 三、提供多个Map案例可参考使用 四、其中&#xff0c;最关键的就是Camera_point_360和Camera_rec_360的结合使…

Vue3 + Photo-sphere-viewer 全景

Photo Sphere Viewer是一款基于Three.js的360X180度全景图预览js插件。该js插件可以360度旋转查看全景图&#xff0c;也可以上下180度查看图片。使用该插件的唯一要求是浏览器支持canvas或WebGL。 这只是一个简单的全景图&#xff0c;我们还可以在全景图上面不同位置添加标注&a…

photo-sphere-viewer 全景图Vr 720全景查看(vue篇)

一、安装以及引入方式 npm install photo-sphere-viewer/core /***插件安装**/ npm install photo-sphere-viewer/markers-plugin npm install photo-sphere-viewer/gallery-plugin npm install photo-sphere-viewer/autorotate-plugin二、PhotoSphereViewer.vue <templat…