|  | @@ -0,0 +1,354 @@
 | 
	
		
			
				|  |  | +<krpano version="1.20.9" title="Virtual Tour">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<action name="mytest">
 | 
	
		
			
				|  |  | +		screentosphere(mouse.x, mouse.y, toh, tov);
 | 
	
		
			
				|  |  | +		jscall(calc('console.log("'+toh+'")'));
 | 
	
		
			
				|  |  | +		jscall(calc('console.log("'+tov+'")'));
 | 
	
		
			
				|  |  | +	</action>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<events onclick="mytest();" />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	<!-- startup action - load the first scene -->
 | 
	
		
			
				|  |  | +	<action name="startup" autorun="onstart">
 | 
	
		
			
				|  |  | +		if(startscene === null OR !scene[get(startscene)], copy(startscene,scene[0].name); );
 | 
	
		
			
				|  |  | +		loadscene(get(startscene), null, MERGE);
 | 
	
		
			
				|  |  | +		if(startactions !== null, startactions() );
 | 
	
		
			
				|  |  | +	</action>
 | 
	
		
			
				|  |  | +	<events onloadcomplete="sceneload"></events>
 | 
	
		
			
				|  |  | +	<action name="sceneload">
 | 
	
		
			
				|  |  | +		jscall('window.sceneload()');
 | 
	
		
			
				|  |  | +	</action>
 | 
	
		
			
				|  |  | +	<scene name="mainScene" onstart="" havevrimage.mobilevr="false" havevrimage.no-mobilevr="true" lat="" lng=""
 | 
	
		
			
				|  |  | +		heading="">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		<control bouncinglimits="calc:image.cube ? true : false" />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		<view hlookat="50.082" vlookat="12.404" fovtype="MFOV" fov="90.000" maxpixelzoom="2.0" fovmin="70" fovmax="120"
 | 
	
		
			
				|  |  | +			limitview="auto" />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		<preview
 | 
	
		
			
				|  |  | +			url="https://elab-marketing-web.oss-cn-shanghai.aliyuncs.com/fairyMountain/layout/hospital/panos/ceshi.tiles/preview.jpg" />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		<image if="!(webvr.isenabled OR device.mobilevr)">
 | 
	
		
			
				|  |  | +			<sphere url="%$panorama_url%" />
 | 
	
		
			
				|  |  | +		</image>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		<image if="webvr.isenabled OR device.mobilevr">
 | 
	
		
			
				|  |  | +			<sphere url="%$panorama_url%" />
 | 
	
		
			
				|  |  | +		</image>
 | 
	
		
			
				|  |  | +		<!-- <preview url="test3333.png"/> 			onloaded.addevent="sceneload();"-->
 | 
	
		
			
				|  |  | +		<hotspot name="video" ath="50.082" atv="14" url="https://dm.static.elab-plus.com/videoplayer.js" videourl=""
 | 
	
		
			
				|  |  | +			width="90" height="160" chromakey="0x238E54|0.294|0.133" preload="true" pausedonstart="false" loop="true"
 | 
	
		
			
				|  |  | +			distorted="true" muted="true" zoom="true" autopause="true" autoresume="true" scale="1"
 | 
	
		
			
				|  |  | +			onvideoready="videoreadyFunc" onvideoplay="videoplayHandle" cursor="grab"
 | 
	
		
			
				|  |  | +			ondown.addevent="set(cursor,grabbing);" onup.addevent="set(cursor,grab);" />
 | 
	
		
			
				|  |  | +		<action name="mobilescale" autorun="preinit" devices="mobile">
 | 
	
		
			
				|  |  | +			mul(stagescale,0.5);
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<action name="playSceneName">
 | 
	
		
			
				|  |  | +			def(scale, string, get(hotspot[video].scale));
 | 
	
		
			
				|  |  | +			<!-- 打印日志 -->
 | 
	
		
			
				|  |  | +			<!-- showlog(true, top); -->
 | 
	
		
			
				|  |  | +			<!-- 播放视频 -->
 | 
	
		
			
				|  |  | +			hotspot[video].playvideo(%1, '', false);
 | 
	
		
			
				|  |  | +			set(hotspot[video].scale, get(scale));
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<!-- 设置缩放大小 -->
 | 
	
		
			
				|  |  | +		<action name="scaleChange">
 | 
	
		
			
				|  |  | +			set(hotspot[video].scale, %1);
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<!-- 获取缩放大小 -->
 | 
	
		
			
				|  |  | +		<action name="getmyScale">
 | 
	
		
			
				|  |  | +			def(scale, string, get(hotspot[video].scale));
 | 
	
		
			
				|  |  | +			jscall(calc("window.getScaleHandle('"+ get(scale) +"')") );
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<!-- 切换状态播放,暂停 -->
 | 
	
		
			
				|  |  | +		<action name="toggleMute">
 | 
	
		
			
				|  |  | +			set(hotspot[video].muted, %1);
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<!-- 视频初始化完成 -->
 | 
	
		
			
				|  |  | +		<action name="videoreadyFunc">
 | 
	
		
			
				|  |  | +			jscall('window.videoready()');
 | 
	
		
			
				|  |  | +			<!-- set(hotspot[video].scale, 0.3); -->
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<!-- 视频播放 -->
 | 
	
		
			
				|  |  | +		<action name="videoplayHandle">
 | 
	
		
			
				|  |  | +			jscall('window.onvideoplay()');
 | 
	
		
			
				|  |  | +			<!-- set(hotspot[video].scale, 0.3); -->
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<!-- 截图 -->
 | 
	
		
			
				|  |  | +		<action name="makescreenshot_init" type="Javascript" autorun="onstart"><![CDATA[
 | 
	
		
			
				|  |  | +			// Load the FileSaver.js script for saving files locally cross browser.
 | 
	
		
			
				|  |  | +			// Source: https://github.com/eligrey/FileSaver.js/
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +			// count the screenshots (for the filenames)
 | 
	
		
			
				|  |  | +			krpano.makescreenshot_count = 1;
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +			// create an empty Object as makeScreenshot cache
 | 
	
		
			
				|  |  | +			var makeScreenshotCache = {};
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +			// add a 'makescreenshot' action to krpano
 | 
	
		
			
				|  |  | +			krpano.makescreenshot = function(leftX,leftY,screenshotwidth,screenshotheight)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				// if there is already a screenshot layer, remove it now
 | 
	
		
			
				|  |  | +				// krpano.call("removelayer(screenshot,true)");
 | 
	
		
			
				|  |  | +				console.warn("***leftX***",leftX,leftY,screenshotwidth,screenshotheight)
 | 
	
		
			
				|  |  | +				// make a screenshot as canvas
 | 
	
		
			
				|  |  | +				var sizeinfo = {w:screenshotwidth, h:screenshotheight};
 | 
	
		
			
				|  |  | +				var crop = {
 | 
	
		
			
				|  |  | +					x:leftX,
 | 
	
		
			
				|  |  | +					y:leftY,
 | 
	
		
			
				|  |  | +					w:screenshotwidth, 
 | 
	
		
			
				|  |  | +					h:screenshotheight
 | 
	
		
			
				|  |  | +				};
 | 
	
		
			
				|  |  | +				var screenshotcanvas = krpano.webGL.makeScreenshot(
 | 
	
		
			
				|  |  | +					0, 
 | 
	
		
			
				|  |  | +					0, 
 | 
	
		
			
				|  |  | +					true, 
 | 
	
		
			
				|  |  | +					"canvas", 
 | 
	
		
			
				|  |  | +					0, 
 | 
	
		
			
				|  |  | +					crop, 
 | 
	
		
			
				|  |  | +					sizeinfo, 
 | 
	
		
			
				|  |  | +					makeScreenshotCache);
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +				if (screenshotcanvas)
 | 
	
		
			
				|  |  | +				{
 | 
	
		
			
				|  |  | +					// example - draw something on the canvas, set to 1 to enable
 | 
	
		
			
				|  |  | +					if (0)
 | 
	
		
			
				|  |  | +					{
 | 
	
		
			
				|  |  | +						var ctx = screenshotcanvas.getContext("2d");
 | 
	
		
			
				|  |  | +						ctx.font = "25px Times";
 | 
	
		
			
				|  |  | +						ctx.fillStyle = "#FFFFFF";
 | 
	
		
			
				|  |  | +						ctx.fillText("krpano makeScreenshot() API Test", 50, screenshotcanvas.height-50);
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +					// add some krpano layers that show the screenshot and allow saving it
 | 
	
		
			
				|  |  | +					var imgBase64 = screenshotcanvas.toDataURL();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +					screenshot(imgBase64);
 | 
	
		
			
				|  |  | +					
 | 
	
		
			
				|  |  | +					function screenshot(imgBase64){
 | 
	
		
			
				|  |  | +						var savecreenshot = window.$config.api_url + 'elab-marketing-file/upload/uploadBase64';
 | 
	
		
			
				|  |  | +						var data = JSON.stringify({
 | 
	
		
			
				|  |  | +							base64Str: imgBase64
 | 
	
		
			
				|  |  | +						})
 | 
	
		
			
				|  |  | +						var request = $.ajax({
 | 
	
		
			
				|  |  | +							type: "POST",
 | 
	
		
			
				|  |  | +							url: savecreenshot,
 | 
	
		
			
				|  |  | +							contentType: 'application/json;charset=UTF-8',
 | 
	
		
			
				|  |  | +							data: data
 | 
	
		
			
				|  |  | +						});
 | 
	
		
			
				|  |  | +						  
 | 
	
		
			
				|  |  | +						request.done(function(result) {
 | 
	
		
			
				|  |  | +							console.warn("***krpano-request-result****",result)
 | 
	
		
			
				|  |  | +							if (result && result.success) {
 | 
	
		
			
				|  |  | +								let shottingImg = result.single.filePath;
 | 
	
		
			
				|  |  | +								window.show_img(shottingImg);
 | 
	
		
			
				|  |  | +							}
 | 
	
		
			
				|  |  | +						});
 | 
	
		
			
				|  |  | +						
 | 
	
		
			
				|  |  | +						request.fail(function(jqXHR, textStatus) {
 | 
	
		
			
				|  |  | +							console.warn("Request failed: " + textStatus);
 | 
	
		
			
				|  |  | +						});
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +		]]>
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +		<action name="makescreenshot" type="Javascript">
 | 
	
		
			
				|  |  | +			<![CDATA[
 | 
	
		
			
				|  |  | +			if (krpano.webGL && krpano.webGL.context.getContextAttributes().preserveDrawingBuffer)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				try{
 | 
	
		
			
				|  |  | +					var canvas = krpano.webGL.canvas,
 | 
	
		
			
				|  |  | +					screenx = Number(args[1]),
 | 
	
		
			
				|  |  | +					screeny = Number(args[2]),
 | 
	
		
			
				|  |  | +					vfw = Number(args[3]),
 | 
	
		
			
				|  |  | +					vfh = Number(args[4]),
 | 
	
		
			
				|  |  | +					maxsize = Number(args[5]),
 | 
	
		
			
				|  |  | +					jpeg_quality = krpano.get('panoshot.jpeg_quality'),
 | 
	
		
			
				|  |  | +					watermark = krpano.get('panoshot.watermark'),
 | 
	
		
			
				|  |  | +					scaledCanvas=document.createElement("canvas"),
 | 
	
		
			
				|  |  | +					scaledContext=scaledCanvas.getContext('2d');
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +					if(vfw > vfh){
 | 
	
		
			
				|  |  | +						if(vfw > maxsize){
 | 
	
		
			
				|  |  | +							scaledCanvas.width=maxsize;
 | 
	
		
			
				|  |  | +							scaledCanvas.height=maxsize*vfh/vfw;
 | 
	
		
			
				|  |  | +						}else{
 | 
	
		
			
				|  |  | +							scaledCanvas.width=vfw;
 | 
	
		
			
				|  |  | +							scaledCanvas.height=vfh;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					}else {
 | 
	
		
			
				|  |  | +						if(vfh > maxsize){
 | 
	
		
			
				|  |  | +							scaledCanvas.height=maxsize;
 | 
	
		
			
				|  |  | +							scaledCanvas.width=maxsize*vfw/vfh;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +						else{
 | 
	
		
			
				|  |  | +							scaledCanvas.width=vfw;
 | 
	
		
			
				|  |  | +							scaledCanvas.height=vfh;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +					scaledContext.drawImage(canvas,screenx,screeny,vfw,vfh,0,0,scaledCanvas.width,scaledCanvas.height);	
 | 
	
		
			
				|  |  | +					var img_src = scaledCanvas.toDataURL("image/jpeg",+jpeg_quality);
 | 
	
		
			
				|  |  | +					screenshot(img_src,watermark);
 | 
	
		
			
				|  |  | +				}catch(err){
 | 
	
		
			
				|  |  | +					krpano.trace(3,err);
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}else{
 | 
	
		
			
				|  |  | +				krpano.trace(3,"no webgl or no preserveDrawingBuffer");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			  
 | 
	
		
			
				|  |  | +			function screenshot(dataURL,watermark){
 | 
	
		
			
				|  |  | +				var pluginpath = krpano.get('panoshot.snapshot_path'),
 | 
	
		
			
				|  |  | +				savecreenshot = pluginpath + 'savescreenshot.php';
 | 
	
		
			
				|  |  | +				var request = $.ajax({
 | 
	
		
			
				|  |  | +					type: "POST",
 | 
	
		
			
				|  |  | +					url: savecreenshot,
 | 
	
		
			
				|  |  | +					data: { 
 | 
	
		
			
				|  |  | +						imgBase64: dataURL,
 | 
	
		
			
				|  |  | +						watermark: watermark
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				});
 | 
	
		
			
				|  |  | +		  
 | 
	
		
			
				|  |  | +				request.done(function(file) {
 | 
	
		
			
				|  |  | +					var url = document.URL,
 | 
	
		
			
				|  |  | +					new_url = url.split("?")[0],
 | 
	
		
			
				|  |  | +					almostpath = url.substring(0,url.lastIndexOf("/")),
 | 
	
		
			
				|  |  | +					path = almostpath + '/',
 | 
	
		
			
				|  |  | +					imgurl = pluginpath +file,
 | 
	
		
			
				|  |  | +					vtb_url = krpano.get('vtbuilder_snapshotlink'),
 | 
	
		
			
				|  |  | +					scene = krpano.get('scene[get(xml.scene)].name');
 | 
	
		
			
				|  |  | +					vh = krpano.get('vh'),
 | 
	
		
			
				|  |  | +					vv = krpano.get('vv'),
 | 
	
		
			
				|  |  | +					vf = krpano.get('vf');
 | 
	
		
			
				|  |  | +					if(vtb_url !== null){new_url = vtb_url}
 | 
	
		
			
				|  |  | +					else
 | 
	
		
			
				|  |  | +					if(scene !== null){new_url = new_url + '?sceneview=' + scene + ',' + vh + ',' + vv + ',' + vf};
 | 
	
		
			
				|  |  | +					var viewurl_encode = encodeURIComponent(new_url);
 | 
	
		
			
				|  |  | +					krpano.set("viewurl", viewurl_encode);
 | 
	
		
			
				|  |  | +					krpano.set("panourl", url);
 | 
	
		
			
				|  |  | +					krpano.set("fullpath", path);
 | 
	
		
			
				|  |  | +					krpano.set("imgurl", imgurl);
 | 
	
		
			
				|  |  | +					krpano.call("show_img()");
 | 
	
		
			
				|  |  | +				});
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +				request.fail(function(jqXHR, textStatus) {
 | 
	
		
			
				|  |  | +					alert("Request failed: " + textStatus);
 | 
	
		
			
				|  |  | +				});
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			]]>
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +		<action name="makescreenshot_mobile" type="Javascript">
 | 
	
		
			
				|  |  | +			<![CDATA[
 | 
	
		
			
				|  |  | +			if (krpano.webGL && krpano.webGL.context.getContextAttributes().preserveDrawingBuffer)
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				try{
 | 
	
		
			
				|  |  | +					var canvas = krpano.webGL.canvas,
 | 
	
		
			
				|  |  | +					vfw = Number(args[1]),
 | 
	
		
			
				|  |  | +					vfh = Number(args[2]),
 | 
	
		
			
				|  |  | +					maxsize = Number(args[3]),
 | 
	
		
			
				|  |  | +					jpeg_quality = krpano.get('panoshot.jpeg_quality'),
 | 
	
		
			
				|  |  | +					watermark = krpano.get('panoshot.watermark'),	
 | 
	
		
			
				|  |  | +					scaledCanvas = document.createElement("canvas"),
 | 
	
		
			
				|  |  | +					scaledContext = scaledCanvas.getContext('2d');
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +					scaledCanvas.style.visibility = 'hidden';
 | 
	
		
			
				|  |  | +				
 | 
	
		
			
				|  |  | +					if(vfw > vfh){
 | 
	
		
			
				|  |  | +						if( vfw > maxsize ){
 | 
	
		
			
				|  |  | +							scaledCanvas.width=maxsize;
 | 
	
		
			
				|  |  | +							scaledCanvas.height=maxsize*vfh/vfw;
 | 
	
		
			
				|  |  | +						} else {
 | 
	
		
			
				|  |  | +							scaledCanvas.width=vfw;
 | 
	
		
			
				|  |  | +							scaledCanvas.height=vfh;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +					else {
 | 
	
		
			
				|  |  | +						if( vfh > maxsize ){
 | 
	
		
			
				|  |  | +							scaledCanvas.height=maxsize;
 | 
	
		
			
				|  |  | +							scaledCanvas.width=maxsize*vfw/vfh;
 | 
	
		
			
				|  |  | +						}else{
 | 
	
		
			
				|  |  | +							scaledCanvas.width=vfw;
 | 
	
		
			
				|  |  | +							scaledCanvas.height=vfh;
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					};
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +					var img = new Image();
 | 
	
		
			
				|  |  | +					img.src = krpano.webGL.canvas.toDataURL();
 | 
	
		
			
				|  |  | +					img.onload = function(){
 | 
	
		
			
				|  |  | +						scaledContext.drawImage(canvas,0,0,scaledCanvas.width,scaledCanvas.height);	
 | 
	
		
			
				|  |  | +						var img_src = scaledCanvas.toDataURL("image/jpeg",+jpeg_quality);
 | 
	
		
			
				|  |  | +						
 | 
	
		
			
				|  |  | +						var blank = isCanvasBlank(document.getElementById('canvas'));
 | 
	
		
			
				|  |  | +					
 | 
	
		
			
				|  |  | +						function isCanvasBlank(scaledCanvas) {
 | 
	
		
			
				|  |  | +							var blank = document.createElement('canvas');
 | 
	
		
			
				|  |  | +							blank.width = canvas.width;
 | 
	
		
			
				|  |  | +							blank.height = canvas.height;
 | 
	
		
			
				|  |  | +						
 | 
	
		
			
				|  |  | +							return canvas.toDataURL() == blank.toDataURL();
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +						if (blank) {
 | 
	
		
			
				|  |  | +							krpano.call("try_again()");
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +						else {
 | 
	
		
			
				|  |  | +							screenshot(img_src,watermark)
 | 
	
		
			
				|  |  | +						}
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				}catch(err){
 | 
	
		
			
				|  |  | +				   krpano.trace(3,err);
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}else{
 | 
	
		
			
				|  |  | +				krpano.trace(3,"no webgl or no preserveDrawingBuffer");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			  
 | 
	
		
			
				|  |  | +			function screenshot(dataURL,watermark){
 | 
	
		
			
				|  |  | +				var pluginpath = krpano.get('panoshot.snapshot_path'),
 | 
	
		
			
				|  |  | +				savecreenshot = pluginpath + 'savescreenshot.php';
 | 
	
		
			
				|  |  | +				var request = $.ajax({
 | 
	
		
			
				|  |  | +					type: "POST",
 | 
	
		
			
				|  |  | +					url: savecreenshot,
 | 
	
		
			
				|  |  | +					data: { 
 | 
	
		
			
				|  |  | +						imgBase64: dataURL,
 | 
	
		
			
				|  |  | +						watermark: watermark
 | 
	
		
			
				|  |  | +					}
 | 
	
		
			
				|  |  | +				});
 | 
	
		
			
				|  |  | +			  
 | 
	
		
			
				|  |  | +				request.done(function(file) {
 | 
	
		
			
				|  |  | +					var url = document.URL,
 | 
	
		
			
				|  |  | +					new_url = url.split("?")[0],
 | 
	
		
			
				|  |  | +					almostpath = url.substring(0,url.lastIndexOf("/")),
 | 
	
		
			
				|  |  | +					path = almostpath + '/',
 | 
	
		
			
				|  |  | +					imgurl = pluginpath +file,
 | 
	
		
			
				|  |  | +					vtb_url = krpano.get('vtbuilder_snapshotlink'),
 | 
	
		
			
				|  |  | +					scene = krpano.get('scene[get(xml.scene)].name');
 | 
	
		
			
				|  |  | +					vh = krpano.get('vh'),
 | 
	
		
			
				|  |  | +					vv = krpano.get('vv'),
 | 
	
		
			
				|  |  | +					vf = krpano.get('vf');
 | 
	
		
			
				|  |  | +					if(vtb_url !== null){new_url = vtb_url}
 | 
	
		
			
				|  |  | +					else
 | 
	
		
			
				|  |  | +					if(scene !== null){new_url = new_url + '?sceneview=' + scene + ',' + vh + ',' + vv + ',' + vf};
 | 
	
		
			
				|  |  | +					var viewurl_encode = encodeURIComponent(new_url);
 | 
	
		
			
				|  |  | +					krpano.set("viewurl", viewurl_encode);
 | 
	
		
			
				|  |  | +					krpano.set("panourl", url);
 | 
	
		
			
				|  |  | +					krpano.set("fullpath", path);
 | 
	
		
			
				|  |  | +					krpano.set("imgurl", imgurl);
 | 
	
		
			
				|  |  | +					krpano.call("show_img()");
 | 
	
		
			
				|  |  | +				});
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				request.fail(function(jqXHR, textStatus) {
 | 
	
		
			
				|  |  | +					alert("Request failed: " + textStatus);
 | 
	
		
			
				|  |  | +				});
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			]]>
 | 
	
		
			
				|  |  | +		</action>
 | 
	
		
			
				|  |  | +	</scene>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +</krpano>
 |