【UniApp】uniapp中使用PhotoSphereViewer全景图
CrazyPanda发表于:2024-01-10 12:09:49浏览:489次
近期有个项目要用到全景图,就开始研究做了一个demo,每次使用一个新东西,迎接的都是挑战
本案例是在uniapp中引入全景图,插入markers节点:
1. 下载依赖包
npm install photo-sphere-viewer
安装之后下载下来的包含 three.js uevent.js photo-sphere-viewer
注: 可以不用在当前项目下创建node_modules,只需要把用到的文件复制到项目目录下即可
2.uniapp中使用es6引入外部文件
page.vue 中
引入PhotoSphereViewer,MarkersPlugin,GyroscopePlugin,StereoPlugin,最新PhotoSphereViewer中没有MarkersPlugin,GyroscopePlugin,StereoPlugin,使用时需要单独引入,视情况而定
import { Viewer as PhotoSphereViewer } 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'; var viewer = new PhotoSphereViewer({ container: ‘container’, //容器 panorama: ‘urls’, //拼合图片路径 size: { width: '100%', height: screen.availHeight }, defaultZoomLvl: 50, navbar : [ 'autorotate', 'zoom', 'download', 'markers', 'markersList','caption', 'fullscreen', ], plugins: [ // GyroscopePlugin, //根据需要引入 // StereoPlugin, [MarkersPlugin, { markers: (function () { var a = []; a.push({ id : 'circle', tooltip : 'A circle of radius 30', circle : 30, svgStyle : { fill : 'rgba(255,255,0,0.3)', stroke : 'yellow', strokeWidth: '2px', }, longitude: -0.5, latitude : -0.28, anchor : 'center right', }); a.push({ id : 'ellipse', tooltip : 'An ellipse of radius 60/30', ellipse : [60, 30], svgStyle : { fill : 'rgba(255,255,0,0.3)', stroke : 'yellow', strokeWidth: '2px', }, longitude: -0.5, latitude : -0.28, anchor : 'center left', }); return a; }()) }], ] })
3.获取MarkersPlugin
const markersPlugin = viewer.getPlugin(MarkersPlugin);
markersPlugin.addMarker({id: 'new-marker',longitude: '45deg',latitude: '0deg',image: 'assets/pin-red.png',});
markersPlugin.on('select-marker', (e, marker) => {markersPlugin.updateMarker({id: marker.id,image: 'assets/pin-blue.png'});});
4.更多使用 还请看官网案例
https://photo-sphere-viewer.js.org
https://github.com/mistic100/Photo-Sphere-Viewer/issues/377
此版本和上一版本变化比较大,没有头绪时可以看下迭代日志
猜你喜欢
- 【UniApp】uniapp怎么关闭软键盘
- 在开发移动应用程序时,我们经常需要用户在输入框中输入信息。然而,在某些情况下,软键盘通常会影响到应用程序的用户体验。在使用uniapp框架时,我们常常需要关闭软键盘,以方便应用程序的使用。在本文中,我们将探讨如何在uniapp中关闭软键盘。在uniapp中,我们可以使用原生的方式关闭软键盘。一种方法是在输入框之外的任何位置单击。这将导致键盘被隐藏,并使输入框失去焦点。但是,这种方法可能会在用户意外单击页面上的其他区域时导致数据丢失或者用户体验变得不好。另一种方法是通过JavaScri
- 【UniApp】Flutter和uniapp的区别:适用场景、生态系统和社区支持
- 随着移动应用开发领域的迅速发展,各种跨平台开发框架也应运而生。在这些框架中,Flutter和uniapp无疑是两个备受关注的热门选择。它们都具有跨平台开发的能力,但在适用场景、生态系统和社区支持等方面存在一些区别。首先,适用场景是选择开发框架的重要考虑因素之一。Flutter是Google推出的UI框架,使用Dart语言进行跨平台开发。它主要适用于开发高性能的移动应用程序,特别是那些对视觉效果和动画效果要求较高的应用。Flutter具有热重载功能,在开发过程中能够实时预览修改后的效果,提高开发效
- 【UniApp】Flutter和uniapp的异同和特点
- 在移动应用开发领域,Flutter和uniapp是两个备受关注的跨平台开发框架。它们的出现使得开发者能够快速且高效地开发同时支持多个平台的应用程序。然而,尽管它们有着相似的目标和用途,但在细节和特性方面存在一些差异。接下来,我们将深入比较Flutter和uniapp,并探讨它们各自的特点。Flutte是由Google推出的开源移动应用开发框架。Flutter使用Dart编程语言,它不仅提供了一个丰富的UI组件库,还使用自绘引擎来实现高性能的渲染效果。与传统的原生开发相比,Flutter可以在不同
- 【UniApp】Flutter与uniapp哪个更适合移动应用开发需求
- 今天,移动应用开发已成为越来越多企业和个人关注的重点领域。对于开发者来说,选择一种适合自己需求的开发框架至关重要。在众多可选的开发框架中,Flutter和uniapp都是备受关注的两个。本文将比较这两个框架的优缺点,帮助读者选择最适合自己的移动应用开发方案。首先,让我们来了解一下这两个框架。Flutter是由谷歌开发的跨平台移动应用开发框架,其使用Dart语言进行编码。而uniapp是由DCloud开发的跨平台应用框架,其使用了Vue.js作为基础框架。对比Flutter和uniapp,首先要考
- 【UniApp】uniapp中如何实现音频录制和声音处理
- UniApp是一个基于Vue.js的跨平台开发框架,可以帮助开发者在一次编码的基础上同时生成多个平台的应用,包括iOS、Android、H5等。在UniApp中实现音频录制和声音处理的功能,需要使用到uni-extend插件和uni-audio组件。首先,在你的UniApp项目中,需要安装uni-extend插件。打开命令行窗口,切换到你的项目目录下,运行以下命令来安装uni-extend插件:npm install uni-extend安装完成后,在你的项目中创建
- 【UniApp】利用uniapp实现图标动画效果
- 利用uniapp实现图标动画效果引言:在现代科技发展的背景下,人们对于跨平台开发需求越来越高。而uniapp作为一种基于Vue.js的前端框架,实现了一套代码多端运行的理念,成为了众多开发者的首选。本文将探讨如何利用uniapp实现图标动画效果,通过具体的代码示例来展示实现的过程。一、准备工作首先,我们需要一个uniapp项目的基础架构。可以在HBuilderX等开发工具中创建一个uniapp项目,这里不再赘述具体步骤。二、下载图标库在实现图标动画效果之前,我们需要准备一些图标资源。可
- 【UniApp】uniapp引入iconfont图标及使用方式
- 🧊 前言本文主要讲述的是在使用uniapp中如何引入iconfont图标,以及两种常用的位置。位置一:App下原生导航栏的按钮使用字体图标。位置二:页面中的任意位置使用iconfont图标。🌺 正文第一步:打开iconfont官网新建项目并添加自己所需要的图标这里是iconfont的网址链接: iconfon官网 新建项目 不要勾选彩色,会导致在项目中无法修改字体颜色及样式,本人亲测,找了半天解决办
- 【UniApp】利用uniapp实现音频播放功能
- 利用uniapp实现音频播放功能随着移动互联网的发展,音频播放功能成为了许多应用必不可少的功能之一。而利用uniapp可以方便地实现音频播放功能,而且具有跨平台的特点,可以在不同的移动终端上运行。在进行uniapp开发之前,我们需要先准备好音频资源文件。在本文中,我们将使用一个名为"music.mp3"的音频文件作为示例。首先,我们需要在uniapp的项目中创建一个音频播放页面。在pages文件夹下,新建一个名为"audio"的文件夹,并在该文件
栏目分类全部>