skyline web开发 js报告SGWorld对象不支持此属性或方法的原因

因项目要高web的skyline开发,确切说是terraExplorer pro的开发,参考skyline的官方示例,直接运行javascript的例子(例子代码如下),却爆出错误“对象不支持此属性或方法”,调试发现是SGWorld的属性和方法好像在javascript中不识别,导致不识别的可能原因中,我首先排除了拼写错误,错误的可能只能是声明的对象可能错了,后来发现声明的对象是在“object”标签中实现的,其中有一个“CLSID”,这个标示其实是GUID,它是Globally Unique Identifier的简称,中文翻译为“全局唯一标示符”,在Windows系统中也称之为Class ID,缩写为CLSID,指windows系统对于不同的应用程序,文件类型,OLE对象,特殊文件夹以及各种系统组件分配一个唯一表示它的ID代码,用于对其身份的标示和与其他对象进行区分。问题就出在这里,因为我发现不同terraExplorer pro的版本中声明SGWorld的CLSID是不同的,可能是我的版本与当前示例中的CLSID的正好不同,后来发现果然是,我的版本是6.0的,而示例的版本是针对最新的6.1版本的,这是造成此原因的罪魁祸首啊,改回6.0的版本,即

CLSID:3a4f91b0-65a8-11d5-85c1-0001023952c1,一切ok了

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>HTML Example</title>
    <script type="text/javascript">
        function Init() {
            try {
                var flyPath = "http://www.skylineglobe.com/SkylineGlobe/WebClient/PresentationLayer/WebClient/SkyglobeLB.fly";
                // attach callback to the load finished event
                SGWorld.AttachEvent("OnLoadFinished", OnProjectLoadFinished);
                // Load default developer fly file from www.skylineglobe.com web site.
                // default load is in async mode
                SGWorld.Project.Open(flyPath);
                alert("Opening project " + flyPath + " in async mode");
            }
            catch (e) {
                alert("Error: " + e.description);
            }
 
        }
 
        function OnProjectLoadFinished() {
            alert("Received project loaded event. Click OK to fly to Washington DC.");
            var Washington = SGWorld.Creator.CreatePosition(-77.036667, 38.895111, 1500);
            SGWorld.Navigate.FlyTo(Washington);
        }
    </script>
</head>
<body onload="Init()">
    <object id="TE" classid="clsid:3a4f9192-65a8-11d5-85c1-0001023952c1" style="width: 600px;height: 600px"></object>
    <object id="SGWorld" classid="CLSID:3a4f91b1-65a8-11d5-85c1-0001023952c1" style="visibility: hidden;height: 0"></object>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值