krpano 知识点.txt

krpano 知识点.txt

参考:
https://krpano.com/home/

一、应用
1.在 tour.html 中嵌入 街景。
<!-div#pano,用于存放街景,如:div#waihuanlu 对象。->
<div id="pano" style="width:100%;height:100%;"></div>
// krpano, 用于保存 krpano 接口。
let krpano = null;
// 加载一条路的街景。
embedpano({
    swf: "tour.swf",
    xml: "tour.xml",  // 街景的配置文件。
    target: "pano",  // div#pano,即,存放街景的 html dom 元素。
    html5: "auto",
    mobilescale: 1.0,
    passQueryParameters: true,
    id: "waihuanlu",  // div#waihuanlu,指定 id 的 div#krpanoSWFObject。
    // 通过 onready 字段绑定嵌入脚本的回调函数
    onready: krpano_onready_callback  // 获取 krpano js 接口对象。
});

function krpano_onready_callback(krpano_interface) {
        /*保存嵌入脚本的 krpano 接口。
        * krpano_interface,krpano js 接口对象。*/
        krpano = krpano_interface;

        /*console.log("krpano:", krpano);
        console.log("krpano_interface.parentNode:", krpano_interface.parentNode);
        console.log("view:", krpano.get("view"));
        console.log("view.fov:", krpano.get("view.fov"));
        console.log("hotspot:", krpano.get("hotspot"));
        console.log("scene:", krpano.get("scene"));
        setTimeout(function () {
            let scenes = krpano.get("scene").getArray();
            console.log("scenes:", scenes);
            console.log("scenes[1].name:", scenes[1].name);
        }, 1000);*/
}


二、krpano js 接口。
krpano,js 接口对象,即,上边的 krpano 变量,提供如下 js 函数:
    krpano.get(variable) - 返回给定 krpano 变量的值。
        variable,指的是 xml 中的全局变量。
        参考:https://krpano.com/docu/actions/#globalvarsreference
        // sceneName,当前已加载场景的名称,如:scene_ladybug_panoramic_000000。
        let sceneName = krpano.get("xml.scene");
        // 判断当前设备是否支持 html5。
        krpano.get("device.html5") -> true/false;
        krpano.get("hotspot[spot4]") -> hotspotObject[name = "spot4"]
        注:不能通过此方法,获取函数体。
    krpano.set(variable,value) - 设置给定 krpano 变量为给定的值。
    krpano.call(action) - 调用并执行任何 krpano 操作代码。
        此处的 action 指的是 tour.xml 中 action 标签中的代码。如:
        <!-- 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>
        参考:https://krpano.com/docu/actions/#actionsreference
    等。

    应用实例:
        获取并设置一个变量的值:
            let fov = Number( krpano.get("view.fov") );
            fov += 10.0;
            krpano.set("view.fov", fov);
        调用一个 krpano 操作,例如:加载另一组街景:
            krpano.call("loadpano('pano2.xml',null,MERGE,BLEND(1));");
        同一组街景中,切换下一帧(全景照片)。
            krpano.call("loadscene(" + scene[1].name + ", null, MERGE);");






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值