SDK 数据包获取

SDK 的使用包含 【SDK 数据包】和 【SDK 播放器】两部分,本文档以【SDK 播放器】的使用为主要内容,如何获取【SDK 数据包】请查阅 SDK 离线数据包同步到阿里云 OSS & 离线下载教程

SDK 文件引入

目前提供两种方式引入 SDK 文件:

初始化说明

  1. 引入 js 和 css 文件
<!-- 通过720云CDN引入 --> <script src="https://ssl-sdk.720static.com/720yun-sdk/prod/720yun-sdk-latest/js/720yun_SDK.js"></script> <link rel="stylesheet" href="https://ssl-sdk.720static.com/720yun-sdk/prod/720yun-sdk-latest/css/tour.css"> <!-- 通过自有地址引入,域名为示例域名 --> <script src="https://www.example.com/720yun-sdk/js/720yun_SDK.js"></script> <link rel="stylesheet" href="https://www.example.com/720yun-sdk/css/tour.css">
  1. 页面中放入一个 id 为 panoContainer 的 div 容器
<div id="panoContainer"></div>
  1. 初始化全景播放器
window.PanoPlayer.setup({ sdkUrl: 'https://ssl-sdk.720static.com/720yun-sdk/prod/720yun-sdk-latest/', // SDK 路径,http/https 开头的完整路径,以 / 结束,这里以720云CDN为例 baseUrl: 'https://ssl-sdk.720static.com/720yun-sdk/example/data/', //数据包路径,http/https 开头的绝对路径 extendData: {} }, { // 具体配置参考文档 // startAnimation: 0, //关闭开场动画 // logo: "https://example.com/logo.jpg", //显示自定义 logo // autoRotate: 0, //关闭自动旋转 // description: 0, //关闭简介按钮 // sceneList: 3, //显示场景切换按钮但默认隐藏场景列表 // fullscreen: 0, //关闭全屏按钮 // vr: 0, //关闭 VR 按钮 // viewSwitch: 0, //关闭视角切换按钮 // gyroscope: 0, //关闭陀螺仪按钮 // dragMode: 1, //默认拖拽模式为正向 // disableSandTable: 1, //关闭沙盘 }).then(player => { // 初始化完成 console.log('player init complete', player); // 场景加载完成后的回调 player.openApi.addSceneLoadedListener((partnerId, sceneId) => { console.log('scene load complete, ', 'partnerId:', partnerId, ', sceneId:', sceneId); }); window.player = player; }).catch(err => { console.error('player init error', err); });

初始化接口

window.PanoPlayer.setup({baseUrl, sdkUrl, jsonData, extendData}, config) : Promise
完整示例
<!DOCTYPE html> <html lang="zh-cn"> <head> <title>SDK Demo</title> <meta name="referrer" content="always"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,viewport-fit=cover"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="format-detection" content="telephone=no,address=no,email=no"> <meta name="renderer" content="webkit"> <meta name="robots" content="all"> <!-- 引入 sdk --> <link rel="stylesheet" href="https://ssl-sdk.720static.com/720yun-sdk/prod/720yun-sdk-latest/css/tour.css"> <script src="https://ssl-sdk.720static.com/720yun-sdk/prod/720yun-sdk-latest/js/720yun_SDK.js"></script> </head> <body> <!-- 全景播放器容器 div --> <div id="panoContainer"></div> <script> // 初始化全景,会默认在 id 为 panoContainer 的 div 中渲染全景 window.PanoPlayer.setup({ sdkUrl: 'https://ssl-sdk.720static.com/720yun-sdk/prod/720yun-sdk-latest/', // SDK 路径,http/https 开头的完整路径,以 / 结束,这里以720云CDN为例 baseUrl: 'https://ssl-sdk.720static.com/720yun-sdk/example/data/', //数据包路径,http/https 开头的绝对路径 extendData: {} }, { // 具体配置参考文档 startAnimation: 0, //关闭开场动画 logo: "https://example.com/logo.jpg", //显示自定义 logo autoRotate: 0, //关闭自动旋转 description: 0, //关闭简介按钮 sceneList: 3, //显示场景切换按钮但默认隐藏场景列表 fullscreen: 0, //关闭全屏按钮 vr: 0, //关闭 VR 按钮 viewSwitch: 0, //关闭视角切换按钮 gyroscope: 0, //关闭陀螺仪按钮 dragMode: 1, //默认拖拽模式为正向 disableSandTable: 1, //关闭沙盘 }).then(player => { // 初始化完成 console.log('player init complete', player); // 场景加载完成后的回调 player.openApi.addSceneLoadedListener((partnerId, sceneId) => { console.log('scene load complete, ', 'partnerId:', partnerId, ', sceneId:', sceneId); }); window.player = player; }).catch(err => { console.error('player init error', err); }); </script> </body> </html>

接口说明

所有接口均暴露在 player 的 openApi 上,调用时直接使用 player.openApi.{接口名称}。

接口列表










[ { "name": "默认一级分组", "scenes": [], "subGroups": [ { "name": "二级分组-1", "scenes": [ 29388, 38922 ] }, { "name": "二级分组-2", "scenes": [ 38921 ] } ] }, { "name": "新建一级分组", "scenes": [ 29389 ], "subGroups": [] } ]

loadSceneById(sceneId)

player.openApi.loadSceneById(32321);



















updatePolygonHotspot(data)

player.openApi.updatePolygonHotspot( { partnerId: "partnerID_xxx", fillColor: "#ff0000", visible: true } );

updateImageHotspot(data)

player.openApi.updateImageHotspot( { partnerId: "partnerID_xxx", imageUrl: "https://example.com/abc.png", visible: true } ); player.openApi.updateImageHotspot( { partnerId: "partnerID_xxx", visible: false } );

updateHotspot(data)

player.openApi.updateImageHotspot( { partnerId: "partnerID_xxx", visible: true } );

switchToHotspotGroup(id)

player.openApi.switchToHotspotGroup(123);

currentHotspotGroupId()

console.log("current hotspot group id:", player.openApi.currentHotspotGroupId());