krpano Javascript接口Version 1.20.11
需要使用krpano Javascript-Interface object来获取从krpano到Javascript的权限。
可通过以下某种方式获取对象:
- 使用 embedding script 的 onready 回调函数(推荐方法)。
 - 或通过Javascript 调用: document.getElementById(id)
id参数是viewer的唯一性id(默认为”krpanoSWFObject”)可在embedding script中进行设置。 
krpano Javascript接口对象
接口对象提供以下JS函数:
- set(variable,value) – 将指定的数值赋值给指定的krpano变量。
 - get(variable) – 返回指定krpano变量的数值。
 - call(action) – 调用和执行任意krpano动作代码。
 - spheretoscreen(h,v) – 直接调用spheretoscreen动作。
 - screentosphere(x,y) – 直接调用screentosphere动作。
 
spheretoscreen / screentosphere函数返回一个带有x、y属性的对象。
使用JavaScript直接访问krpano(仅在HTML5下使用)
当不需要Flash支持时,可以使用下面的调用对krpano获取更直接的使用
| 
					 1  | 
						krpano = krpano.get("global");  | 
					
global对象是整个krpano API结构的根级别对象,调用后可以直接访问所有变量、对象和函数。对于性能而言,这将是使用krpano的最快方式。
使用案例(新)
使用krpano JavaScript接口访问(Flash和HTML5)
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
						embedpano({..., html5:"auto",onready:function(krpano) {     var is_flash = krpano.get("device.flash");     ...     krpano.set("view.hlookat", 40);     krpano.set("view.vlookat", 30);     krpano.set("view.fov", 120);     krpano.call("loadpano(image.xml,null,MERGE|KEEPVIEW)");     ...     krpano.call("addhotspot(spot1)");     krpano.set("hotspot[spot1].url", "spot.png");     krpano.set("hotspot[spot1].ath", 123.4);     krpano.set("hotspot[spot1].atv", 12.3);     krpano.set("hotspot[spot1].onclick", "loadpano(pano2.xml,null,MERGE,BLEND(0.5)"); });  | 
					
直接访问(HTML5下)
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  | 
						embedpano({..., html5:"only", onready:function(krpano) {     krpano = krpano.get("global");     krpano.view.hlookat = 40;     krpano.view.vlookat = 30;     krpano.view.fov = 120;     krpano.actions.loadpano('image.xml',null,'MERGE|KEEPVIEW');     ...     var hs = krpano.addhotspot();     hs.url = "spot.png";     hs.ath = 123.4;     hs.atv = 12.3;     hs.onclick = function()     {         krpano.actions.loadpano('pano2.xml',null,'MERGE','BLEND(0.5)');     } });  | 
					
使用案例(旧)
获取krpano HTML DOM对象 – 或是通过onready回调函数(推荐):
| 
					 1 2 3 4 5 6 7 8  | 
						var krpano = null; embedpano({..., onready:krpano_onready_callback}); function krpano_onready_callback(krpano_interface) {   krpano = krpano_interface; }  | 
					
或者使用document.getElementById(但注意,只有embedding已经完成的情况下才能工作)
| 
					 1  | 
						var krpano = document.getElementById("krpanoSWFObject");  | 
					
获取和设置一个变量:
| 
					 1 2 3  | 
						var fov = Number( krpano.get("view.fov") ); fov += 10.0; krpano.set("view.fov", fov);  | 
					
调用krpano动作,例如载入一个全景。
| 
					 1  | 
						krpano.call("loadpano('pano2.xml',null,MERGE,BLEND(1));");  | 
					
在 “krpano Javascript接口说明文档” 上有 3 条评论