SphereViewer.js
Displays photo spheres created with Ricoh Theta or Google Street View App on mobile and desktop browsers.
Features
- customizable via config
- can hide the triopod by displaying custom logo at the sphere bottom
- can display user instructions (PNG image)
- works on desktop and mobile browsers
- texture can be provided in three different formats
- image preloading for slower connection (only in "sphere" mode)
- displays spinner while loading images
- advance feature support
- conversion of spherical textures into a cubical one (equirectangular-2-rectilinear)
- custom UV mapping
- supports vanilla JavaScript and AMD
Live Demo
Live demo is available on CodePen.io http://codepen.io/knee-cola/pen/vxQYNL
Documentation
There is none ... you can figure it out from provided example files in the examples folder @ GitHub. The code inside the HTML files is well documented.
Four examples are provided:
Installation
NPM installation
To install it via NPM run:
npm i -D --save-dev sphere-viewer
Then just import it in your JavaScript ... for example, like this:
import SphereViewer from 'sphere-viewer'
Using CDN (vanilla JavaScript)
If you use the vanilla JavaScript, link the lib from HTML like this (the code bellow also includes dependencies):
<script src="//code.jquery.com/jquery-3.2.1.slim.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/three.js/85/three.min.js"></script>
<script type="text/javascript" src="//cdn.rawgit.com/knee-cola/SphereViewer/042c4c83/dist/sphereViewer.min.js"></script>
Downloading the viewer (minified)
If you want to store files localy on yout server, you can download the minified file from GitHub repository.
Dependencies
SphereViewer was build with:
Usage example
var isMobile = window.devicePixelRatio!==1;
var config = {
sphere: ['img/sphere/preloader.jpg', 'img/sphere/hd.jpg'],
logo:'img/logo.png',
hint: isMobile ? 'img/sphere-icon-mobile.png' : 'img/sphere-icon-desktop.png',
control: {
autoRotate: true
},
spinner: {
groupRadius: 20
},
closeButton: {
html: '<i class="cmdCloseSphere material-icons">highlight_off</i>'
},
};
var viewer = new SphereViewer.Viewer(config);
viewer.addEventListener('close', function() { console.log('sphere closed'); });
License
SphereViewer is licensed under the MIT License.