此插件是一位外国人写的,官网API地址:https://photo-sphere-viewer.js.org/#methods

我只是记录下我在使用此插件时用到的方法和相关属性,以防以后忘记

1.按要求在页面中引入文件后,使用以下方式调用,其它配置

 var viewer =new PhotoSphereViewer({
  panorama: $('#p'+p_id).find('li:first-child').find('img').attr('data-src'), //全景图片的路径
  container: document.getElementById('showImg'),  //承载全景图的div盒子
  cache_texture:15000,  
  default_long:'-46', //初始经度,介于0和2π之间
  default_lat:'0', //初始纬度,介于-π/ 2和π/ 2之间。
  min_fov:30, //最小视野(对应于最大变焦),介于1和179之间。
  max_fov:90, //最大视野(对应于最小变焦),介于1和179之间。
  default_fov:90,
  time_anim: true, //全景图在time_anim毫秒后会自动进行动画 可以填写数字
  fisheye:false,
  navbar: [
   'autorotate',
   'zoom',
   'gyroscope',
   'caption',
   'markers',
   //{ //自定义按钮
   // id: 'my-button',
   // title: 'Hello world',
   // className: 'custom-button',
   // content: 'Custom',
   // onClick: function() {
   // alert('Hello from custom button');
   // }
   //},
  ],
  size: { // Resize the panorama
   width: '100%',
   height: '100%'
  },
  gyroscope:true,
  loading_txt:'Loading.....', // 显示在加载圆的中心的图像的路径。
  markers: null,
  usexmpdata:true,
  pano_data: { //在此示例中,4000x2000图像用作6000x3000全景图的一部分,剩余空间将呈现为黑色。
   full_width: 6000,
   full_height: 3000,
   cropped_width: 4000,
   cropped_height: 2000,
   cropped_x: 1000,
   cropped_y: 500
  },
  transition: {
   duration: 1500, // duration of transition in milliseconds
   loader: true // should display the loader ?
  }
  });
2.若想在原插件状态栏中加入html,比如按钮啊,icon啊 什么的:
  
  $($('.psv-caption')[0]).html("巴拉巴拉~"); 若不这样写,像平时这样来:$('.psv-caption') 是不行的,此代码返回的是 

  

  jq选中的元素最后返回的是一个document,不能直接操作

3.选中全景中标记:

  PSV.on('select-marker', function (marker) {});
  marker携带了新建标记时传递的信息:唯一id、 标记类型.....

4. 全景图正在旋转时触发:PSV.on('position-updated',function(po){});
 可以是自动旋转,也可以是手动滑动 ,po返回的是一个json对象,是全景当前位置经纬度坐标信息
5.确定当前图片是否在缓存中:
 PSV.getPanoramaCache(src) 返回ture:在缓存中,false:未在缓存中
 
此方法只有在开始配置时设置过缓存数量(cache_texture ) 才可以使用,否则报错,因为cache_texture 默认为0
6.清除缓存:PSV.clearPanoramaCache(src) //src:图片地址

7.重新设置图片全景:PSV.setPanorama(src,true,true);

8.判断当前全景是否有标记:
  if( PSV.hud.markers){
   PSV.hud.clearMarkers();
  }
9.为当前全景添加标记: 标记格式按照官网去写
  PSV.addMarker({marker}) 
10.重新渲染全景:   PSV.render();
11.当全景加载完成后再进行操作,否则很卡顿:
  PSV.on('ready', function() {});
 


 

探索photo-sphere-viewer全景插件的更多相关文章

  1. Photo Sphere Viewer 全景图

    Photo Sphere Viewer  一款基于 three.js 的简易3D插件,方便,实用,友好,看到网上有些API有错误,所以自己写一个修正版的 该js插件可以360度旋转查看全景图,也可以上 ...

  2. photo sphere viewer使用图像数据替代路径来生成全景图

    photo sphere viewer是一个js库,用来将全景图片生成360度的全景图像,但是其要求传入的是个路径.如何使用数据代替路径生成图像. 我采用的方法是用img标签生成图像,然后调用img. ...

  3. Viewer.js插件浏览图片

    https://www.jianshu.com/p/e3350aa1b0d0 Viewer.js插件浏览图片 Viewer.js插件浏览图片 Viewer.js插件浏览图片

  4. PlantUML Viewer Chrome 插件 画时序图

    PlantUML通过简单直观的语言来定义示意图 使用 Chrome+ PlantUML Viewer的插件画图 1,打开chrome网上应用店 2,搜索plantuml viewer 并添加 3,扩展 ...

  5. viewer.js插件简单使用说明

    不需要依赖jQuery.js,只需要导入viewer.js和viewer.css文件即可. 插件GitHub地址:https://github.com/fengyuanchen/viewerjs 示例 ...

  6. unity 看到Sphere内部,通过Sphere播放全景视频时候遇到的问题

    Unity创建一Sphere默认是看不到球体内部的,所以需要用 Cull Front  修改剔除的方向,这就会带来一个新的问题,所播放的视频是像镜子一样翻转着的,所以要改变它的UV坐标使其翻转过来 f ...

  7. HTML5 input date属性引起的探索——My97DatePicker(日期选择插件)

    不得不说H5的input date属性真的好用,之前我写的http://www.cnblogs.com/tu-0718/p/6729274.html这篇博客里面也有提到,不过虽然移动端对H5的支持还是 ...

  8. 通过Onvif设备探索获取EasyNVR网页无插件播放所需要的摄像机硬盘录像机NVR的RTSP地址

    想实现网络监控摄像头进行视频直播的朋友门应该知道,方法其实非常简单,你不需要使用支持直播的网络摄像机,只需要经过一套流媒体服务器将监控摄像头的RTSP视频流转为RTMP\HLS\HTTP-FLV视频流 ...

  9. 3D全景!这么牛!!

    如果你用过网页版的百度地图,你大概3D全景图浏览是一种怎样的酷炫体验:在一个点可以360度环顾周围的建筑.景色,当然也可以四周移动,就像身临其境. 全景图共分为三种: ①球面全景图 利用一张全景图围成 ...

随机推荐

  1. 地图经纬度坐标与屏幕坐标的转换(android版)

    我们在开发GIS系统的时候,首先要解决的就是地图的可视化问题,这个问题的关键就在于如何把地图的坐标转换成屏幕坐标,然后才到渲染着色.标注等.以下以wgs84经纬度坐标为基准,介绍一下地图经纬度坐标与屏 ...

  2. Modify Dokuwiki Email Template 修改 Dokuwiki 邮件模板

    Email Notification Templates   There are two places to modify 1) log in as Admin -> configuration ...

  3. PDW V2培训简记

    最近有幸参加了微软专家进行的为期一周PDW培训,将一些知识点记录如下: 不知道PDW是什么东西的,简单介绍一下:这是微软与HP/Dell合作推出的SQL Server数据仓库一体机,由HP或DELL提 ...

  4. git 错误error: failed to push some refs to

    今天使用VSCODE 学习node.js,  想在git上push代码 于是在git上建立了一个私有的长裤, 连接后push代码时提示如下错误: error: failed to push some ...

  5. 自定义RatingBar评分控件

    1.介绍 实现类似美团外卖评分供能,系统提供了RatingBar,今天来自定义一波,当做自定义view的一个学习,效果如下,能够滑动或者点击变化星星数量 2.自定义属性 在values目录下的attr ...

  6. maven 编译插件指定jdk版本的两种方式

    第一种方式: <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration&g ...

  7. ASP.NET MVC 5搭建自己的视图基架 (CodeTemplate)

    我们知道,在MVC项目中添加视图时,在添加面板有模板可以选择,这里会有人疑问,这个模板位于哪里?我可以搭建自己的基架吗? 首先回答第二个问题,答案是当然可以 我这里使用的是Visual Studio ...

  8. Oracle诊断工具 - ORA-4030 Troubleshooting Tool

    ORA-4030 说明Oracle服务器进程(server process)无法在操作系统(OS)上分配到足够的内存.   导致ORA-4030 的主要原因有: -物理内存不足 -OS kernel/ ...

  9. [UI] Article intro effects

    Article intro effects http://freebiesbug.com/code-stuff/article-intro-effects/

  10. qt的共享内存

    https://blog.csdn.net/gdutlyp/article/details/50468677