使用 setYaw(),getYaw(),setPitch(),getPitch(),getHfov(),setHfov(),toggleFullscreen()等方法控制全景图

效果:这个只有效果静图了= =

代码:

<!DOCTYPE html>
<html lang="ch">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="author"content=“KaiSarH,huankai7@163.com”><title>Custom controls</title><link rel="stylesheet" href="pannellum.css"/><script type="text/javascript" src="pannellum.js"></script><style>#panorama {width: 1200px;height: 800px;}#controls {position: absolute;bottom: 0;z-index: 2;text-align: center;width: 100%;padding-bottom: 3px;}.ctrl {padding: 8px 5px;width: 30px;text-align: center;background: rgba(200, 200, 200, 0.8);display: inline-block;cursor: pointer;}.ctrl:hover {background: rgba(200, 200, 200, 1);}</style>
</head>
<body>
<div id="panorama"><div id="controls"><div class="ctrl" id="pan-up">&#9650;</div><div class="ctrl" id="pan-down">&#9660;</div><div class="ctrl" id="pan-left">&#9664;</div><div class="ctrl" id="pan-right">&#9654;</div><div class="ctrl" id="zoom-in">&plus;</div><div class="ctrl" id="zoom-out">&minus;</div><div class="ctrl" id="fullscreen">&#x2922;</div></div>
</div>
<script>viewer = pannellum.viewer('panorama',{"panorama":"test/test.jpg","autoLoad":true,"showControls":false});document.getElementById('pan-up').addEventListener('click', function(e) {viewer.setPitch(viewer.getPitch() + 10);});document.getElementById('pan-down').addEventListener('click', function(e) {viewer.setPitch(viewer.getPitch() - 10);});document.getElementById('pan-left').addEventListener('click', function(e) {viewer.setYaw(viewer.getYaw() - 10);});document.getElementById('pan-right').addEventListener('click', function(e) {viewer.setYaw(viewer.getYaw() + 10);});document.getElementById('zoom-in').addEventListener('click', function(e) {viewer.setHfov(viewer.getHfov() - 10);});document.getElementById('zoom-out').addEventListener('click', function(e) {viewer.setHfov(viewer.getHfov() + 10);});document.getElementById('fullscreen').addEventListener('click', function(e) {viewer.toggleFullscreen();});
</script>
</body>
</html>

总结:

  1. 关于HTML和JS的东西我就不写了,总结一下用到的Pannellum方法
  2. 在API中,是这样描述的:




    首先,你要知道Pannellum的投影坐标系,如图:

    圆圈中的直线代表视角方向,水平方向用yaw值表示,取值为180度到-180度,竖直方向用pitch值表示,取值为90度到-90度,yaw和pitch两个值共同表示整个投影坐标系。
    setYaw(),getYaw(),setPitch(),getPitch()等方法将视角移动到指定的坐标处,也可以获取当前视角对应的坐标位置。
    getHfov()和setHfov()方法,实现镜头的拉近和远离。
    toggleFullscreen()实现全屏。

Pannellum:实例之通过按钮控制全景图相关推荐

  1. Windows 8实例教程系列 - 布局控制

    Windows 8实例教程系列 - 布局控制 原文:Windows 8实例教程系列 - 布局控制 与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI. 本篇将讨论Win ...

  2. ESP8266利用Bliker、小爱同学和本地按钮控制4路开关

    ESP8266利用Bliker.小爱同学和本地按钮控制4路开关 Blinker函数说明: Button.color("#FFFF00"); //设置app按键是纯黄色,16进制颜色 ...

  3. html点击展开盒子变大,JS实现点击按钮控制Div变宽、增高及调整背景色的方法

    本文实例讲述了JS实现点击按钮控制Div变宽.增高及调整背景色的方法.分享给大家供大家参考.具体如下: 这里使用JavaScript实现点击按钮后改变DiV的高度.宽度和背景色等,点击对应按钮,Div ...

  4. html 5音乐界面控制,使用按钮控制HTML5背景音乐开关

    演示:使用按钮控制HTML5背景音乐开关 你的浏览器不支持audio标签. $("#audio_btn").click(function() { var music = docum ...

  5. 使用按钮控制HTML5背景音乐开关

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

  6. flash一个按钮控制动画_flutter闪屏过渡动画,闪光占位动画

    在程序设计的理念中,讲究一切都来源于物理世界,在现实世界中,人们在每接触到一个新的事物或者说在手指触碰到一个事物时,总是心里默许期望有一个反馈效果,这就是来源于心底深处常常被人忽略的一个潜在期望. 在 ...

  7. flash一个按钮控制动画_PLC三组灯用一个按钮控制

    今天作一个PLC小练习 用一个按钮控制三组或三个灯,以达到控制灯的亮度,由PLC组成一个控制器,每按一次按钮增加一组灯亮,三组灯全亮后,每按一次按钮,灭一组灯(为了使每组灯亮的时间尽量相等,要求先亮的 ...

  8. 用按钮控制歌单的上一曲和下一曲 0130 winform

    用按钮控制歌单的上一曲和下一曲 0130 winform 思路 定义一个歌曲类 来一个歌曲对象数组(动态数组) 来一个下标记录当前歌曲索引值 如上一曲被点击,下标- 如果下一曲被点击,下标+ 关键代码 ...

  9. swiper切换按钮位置改变_2019-01-18左右按钮控制swiper轮播图切换

    今天需要实现一个左右按钮控制轮播图滚动的效果! image.png 思路:我们可以尝试获取并改变current的值: 这是swiper滑动视图容器的说明 image.png image.png 这是w ...

  10. js实现在页面实时显示时间,一个按钮控制时间暂停和开始

    js实现在html实时显示时间,一个按钮控制时间暂停和开始.代码如下: <head><meta charset="UTF-8"><title>& ...

最新文章

  1. 后端缓存的23个关键关注点
  2. YOLOX——Win10下训练自定义VOC数据集
  3. java_io_listFile()的应用和匿名内部类
  4. mysql 递归实现树形_Mysql实现树形递归查询
  5. Android集成第三方微信登录
  6. jQuery EasyUI API 中文文档 - 数据表格(DataGrid)
  7. python可以手眼定标吗_手眼标定 相关实例(示例源码)下载 - 好例子网
  8. 清华ACL'22 | 一文读懂刘知远所在实验室18篇论文详情
  9. codeforces水题100道 第二十五题 Codeforces Round #197 A. Helpful Maths (Div. 2) (strings)
  10. leetcode 730 Count Different Palindromic Subsequences
  11. [线段树实现区间最值]HDU5306 Gorgeous Sequence
  12. 主生产计划 操作教程 用友u8_用友U860_主生产计划用户使用手册.pdf
  13. MFC 对话框 添加 工具栏
  14. 大数据高级开发工程师——大数据相关工具之三 Maxwell
  15. 2020年全球石英晶振行业现状、竞争格局及未来发展趋势分析,5G推动万物互联,带动行业需求「图」
  16. (20200108)matlab弹出对话框形式打开和读取指定文件,不用提前输入文件名——uigetfile
  17. Peekaboo(2019年上海网络赛K题+圆上整点)
  18. 《神经科学-探索脑(第2版)》部分笔记
  19. RT 3570 wifi 移植手册
  20. 十一月简报 | Coinversation官网更新,CTO开放转账24小时交易量超过100万美金

热门文章

  1. 39.Linux 内核
  2. 《数学之美》—余弦定理和新闻的分类
  3. JSP中报错only a type can be imported XXX resolves to package
  4. 打开TestFlight并链接到具体的应用下载界面
  5. javaScript函数封装
  6. Xilinx Artix-7 Aurora调试过程中遇到的问题
  7. 6LoWPAN Header compression
  8. java类型占用字节数类型转换
  9. Django中Settings中Templates的路径设置
  10. 自定义函数:删除数组B中与数组A重复的值