- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
一个关于 xml/krpano 的新手问题,
我有一个要动态加载到 XML 中的 json 项目列表 <hotspots>
.我可以在 JavaScript 中循环遍历每个项目,但我不知道如何在 XML 中执行相同的循环!
看看这张图:想象一下,每个带有图像的矩形都是 JSON 列表中的一项。您看到的每个矩形都是一个 <hotspot>
.现在这三个热点被硬编码到 XML 文件中,但我想根据存在的 JSON 列表项数量动态加载热点。
这是一个热点。如果我的 json 列表有 16 个项目,我希望有 16 个热点待加载。
<!--* video image thumbnail *-->
<hotspot name="start" distorted="true"
url="/panorama/%$panoId%/thumb.png"
ath="0" atv="0"
ox="0" oy="36"
vr_timeout="2000"
zorder="99"
scale="0.8"
onclick="changepano( loadscene(video_scene, null, MERGE|KEEPVIEW|KEEPMOVING, BLEND(1)); );"
alpha="0.0"
onloaded="if(vr_start_done === true, removehotspot(start); start_vr(); , tween(alpha,1); );"
/>
最佳答案
您的问题是关于从 JSON 列表在 KRPano 中动态生成热点。
如果您想从 KRPano XML 文件(假设是从 KRPano)读取 JSON,或者如果您希望使用 Javascript 要求 KRPano 生成热点,我不太清楚您写问题的方式。
这是两种完全不同的方式:)
因为我很懒,而且我想你想在 JS 中处理 JSON,所以我选择了这个解决方案......
从 Javascript 加载 JSON 文件
您的 KRPano 项目应该看起来像一个核心 HTML 文件,呈现 Javascript 以嵌入 KRPano 插件。
在那里,您可以在您的 HTML 中声明一个脚本内容,您将在其中解析您的 JSON 内容并要求 KRPano 生成一个热点。当您确定 KRPano 准备就绪时,应该调用此方法,或者在 KRPano 准备就绪时使用“onready”属性从 KRPano 调用它。
myHotspotList.json 内容:
var myHotspotList = [
{
name: "myFirstHotspot",
atv: 15.0,
ath: 56.5686,
url: "myHotspotImage.jpg"
}
];
tour.html 内容:
<html>
...
<script url="myHotspotList.json'></script>
<script>
function generateHotspots() {
// First, we get the KRPano plugin
var myKRPano = document.getElementById('krpanoSWFObject');
// Now we parse the JSON object
for(var idx in myHotspotList) {
// Get the current Hotspot data
var currHotspot = myHotspotList[idx];
// Ask KRPano to create a hotspot with our current name
myKRPano.call("addhotspot('"+ currHotspot.name +"');");
// Now set various attributes to this hotspot
myKRPano.call("set(hotpost['"+ currHotspot.name +"'].atv, "+currHotspot.atv+");");
myKRPano.call("set(hotpost['"+ currHotspot.name +"'].ath, "+currHotspot.ath+");");
myKRPano.call("set(hotpost['"+ currHotspot.name +"'].url, '"+currHotspot.url+"');");
}
}
</script>
...
// When you ask for pano creation, give your generation method as callback
embedpano({target:"krpanoDIV", onready:generateHotspots});
...
</html>
我希望这对您有所帮助,您已经掌握了调用 JSON 对象属性和所有内容的诀窍。
问候
关于json - 根据json列表动态显示xml热点列表(for krpano),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135443/
一个关于 xml/krpano 的新手问题, 我有一个要动态加载到 XML 中的 json 项目列表 .我可以在 JavaScript 中循环遍历每个项目,但我不知道如何在 XML 中执行相同的循环
iPhone(至少在 iOS8 之前)不能内联播放视频。每次视频开始时,视频元素都会全屏显示;如果您退出全屏模式,视频会暂停。 到目前为止这是规则,但我注意到 krpano 实际上可以通过 WebGL
我不想使用 JavaScript 调用从 KRPANO 检索热点。 通过以下内容,我检索到未定义的内容。 KRPANO XML 片段: 通过index.html加载外部javascript文件
我正在编写一个 iOS 应用程序,它将离线加载 UIWebView 中的 KRPano 全景图。这意味着我已将 KRPano 文件结构(index.html + 数据目录)复制到我的 iOS 项目中,
我成功地在 Chrome 和 Firefox 上使用 WebVR 运行 krpano,并且纸板按钮可见并已启用。但是在 Android 中嵌入 WebView 运行它时,它不会显示纸板按钮。 但是后来
我正在创建一个在 Linux 上运行的 PHP 网络应用程序,用户可以在其中上传他们的球形图像,我的脚本会将其转换为 VR 图像。我已经创建了一个,但它在 Windows 上运行并且不知道如何将它移植
我用 krpano 创建了几个全景图,我正在开发一个移动应用程序(iOS + Android)来显示它们。 如果我从我的服务器在线访问 krpano 文件,一切正常,但当我将这些文件作为应用程序资源包
我正在开发一个 panaroma 应用程序,我在其中使用 Krpano 生成的 html 文件。当我在线运行该文件时它可以正常工作但是当我将文件夹保存在本地并尝试离线运行时它在模拟器上运行但在 iPh
我是一名优秀的程序员,十分优秀!