CHECKING STATUS
I AM LISTENING TO
|

iPanorama 360 – Events / API

LAST MODIFIED: 14. August 2025
4. April 2024
.SHARE

Table of Contents

Extending iPanorama 360 can be a challenge, as none of the events are documented. You can talk to the developer or ask for support to get things done. 

You can also read up on the core assets used:
ipanorama.min.js 
jquery.ipanorama.min.js

You can easily search for the events and figure out the parameters passed. Here a quick reference for things I used so far.

Main Events

ipanorama:ready
ipanorama:config
ipanorama:fullscreen
ipanorama:mode
ipanorama:transform-mode-changed

Tooltip Events

ipanorama:tooltip-show
ipanorama:tooltip-hide

Popover Events

ipanorama:popover-show
ipanorama:popover-hide

Scene / Camera Events

ipanorama:scene-before-load
ipanorama:scene-after-load
ipanorama:scene-progress
ipanorama:scene-error
ipanorama:scene-show-start
ipanorama:scene-show-complete
ipanorama:scene-hide-start
ipanorama:scene-hide-complete
ipanorama:scene-clear
ipanorama:scene-index

ipanorama:scene-point-add
ipanorama:scene-point-remove
ipanorama:scene-point-dragstart
ipanorama:scene-point-dragend
ipanorama:scene-point-select
ipanorama:scene-point-deselect
ipanorama:scene-point-hide
ipanorama:scene-point-show
ipanorama:scene-point-change

ipanorama:scene-plane-add
ipanorama:scene-plane-remove
ipanorama:scene-plane-dragstart
ipanorama:scene-plane-dragend
ipanorama:scene-plane-select
ipanorama:scene-plane-deselect

ipanorama:scene-camera-start
ipanorama:scene-camera-end
ipanorama:scene-camera-change

Some Examples

Lock rotation

var instance = this,
$ = jQuery;

instance.$container.on("ipanorama:scene-after-load", function(e, data) {
    data.scene.control.minPolarAngle = 90 * Math.PI / 180;
    data.scene.control.maxPolarAngle = 90 * Math.PI / 180;
});

Custom Marker Click

var instance = this,
$ = jQuery;

function onMarkerClick(e) {
    var userData = this.cfg.userData;
    if(userData) {
        var $iframe = $(userData);
        $.featherlight($iframe);
    }
}

for(var i=0;i<instance.markers.length;i++) {
    var marker = instance.markers[i];
    marker.$marker.on('click', $.proxy(onMarkerClick, marker));
}

Custom loading

const plugin = this;
const $ = jQuery;
const $loading = $('<div>').addClass('myloading').text('loading');

plugin.$container.append($loading);

plugin.$container.on('ipanorama:scene-progress', (e, data) => {
   const flag = data.progress.loaded == data.progress.total;
   $loading.toggleClass('active', !flag);
});
Let’s Talk!

Looking for a reliable partner to bring your project to the next level? Whether it’s development, design, security, or ongoing support—I’d love to chat and see how I can help.

Get in touch,
and let’s create something amazing together!

RELATED POSTS

For the longest time, a kiosk meant one thing: a screen bolted to a wall, waiting for someone brave enough to poke it. A menu. A button or two. If you were lucky, a card reader. The whole device sat there passively, doing nothing until a human chose to interact with it, and most humans […]

You know that feeling when you click a link in a project’s README and it 404s right in your face? Me too. Broken links are the quiet rot of the web — they creep into documentation, blog posts, and large codebases without anyone noticing, and they make otherwise solid content look abandoned. The fix is […]

OCR used to be boring. You threw a scanned page at Tesseract, got back a wall of text with a few mangled characters, and moved on with your life. That was the whole genre for about fifteen years. Then vision language models showed up and ate the entire category. In the last eighteen months, document […]

Alexander

I am a full-stack developer. My expertise include:

  • Server, Network and Hosting Environments
  • Data Modeling / Import / Export
  • Business Logic
  • API Layer / Action layer / MVC
  • User Interfaces
  • User Experience
  • Understand what the customer and the business needs


I have a deep passion for programming, design, and server architecture—each of these fuels my creativity, and I wouldn’t feel complete without them.

With a broad range of interests, I’m always exploring new technologies and expanding my knowledge wherever needed. The tech world evolves rapidly, and I love staying ahead by embracing the latest innovations.

Beyond technology, I value peace and surround myself with like-minded individuals.

I firmly believe in the principle: Help others, and help will find its way back to you when you need it.