skyline6:二次开发web工程调用网络fly文件

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/79241376 1.web工程调用网络fly文件(1)新建一个空的web工程,并在工程中新建一个HTML页面,将页面分成左右结构,并将skyline的相关对象引入到页面中,如下图所示:备注:上图中的各OBJECT对象从“TerraExplorer Pro”软件中的程序开发指南中复制。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/79241376

1.web工程调用网络fly文件

(1)新建一个空的web工程,并在工程中新建一个HTML页面,将页面分成左右结构,并将skyline的相关对象引入到页面中,如下图所示:

备注:
上图中的各OBJECT对象从“TerraExplorer Pro”软件中的程序开发指南中复制
步骤1:打开“TerraExplorer Pro”软件,找到程序开发指南,如下图:

步骤2:进入ActiveX controls,将以下的Object信息分别复制到html页面中。


备注:在拷贝API信息后,记得将多余的空格去掉,不然会页面将无法识别该API。

(2)浏览web工程页面,便可打开页面,也可以将该新建的web工程部署到iis中,随时访问

(3)在html页面上直接写<object></object>会出现一个问题,html加载skyline的时候有时候三维的模型不在html页面上显示反而调用了本地的terraexplorer pro软件

这个原因是初始化先后的问题,为了解决这个问题我们 可以在js里面动态加载sgword等等。代码片段如下

 

createSGWorld:function(){
var self = this;
var dom = this.TEBox;
//<!--定义一个TerraExplorer 3D窗口对象-->
var sgword = domConstruct.create("object", {
id:"TE3DWindow",
classid: "CLSID:3A4F9197-65A8-11D5-85C1-0001023952C1"
});
domStyle.set(sgword,"width:100%;height:100%;");
//<!--定义一个TerraExplorer 对象-->
var TE = domConstruct.create("object", {
id:"TerraExplorerX",
classid: "CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1"
});
domStyle.set(TE,"width","100%");
domStyle.set(TE,"height","100%");
dom.appendChild(TE);
//定义TerraExplorer的信息窗口对象
self.TEinfowindow = domConstruct.create("object", {
id:"TerraExplorerInformationWindow",
classid: "CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1"
});
domStyle.set(self.TEinfowindow,"position","absolute");
domStyle.set(self.TEinfowindow,"bottom","5px");
domStyle.set(self.TEinfowindow,"right","10px");
domStyle.set(self.TEinfowindow,"width","250px");
domStyle.set(self.TEinfowindow,"height","300px");
dom.appendChild(self.TEinfowindow);
//<!--定义TerraExplorer对象SGWorld65-->
var SGWorld = domConstruct.create("object", {
id:"SGWorld66",
name:"SGWorld66",
//classid:"CLSID:3A4F9197-65A8-11D5-85C1-0001023952C1"//6.5版本
classid:"CLSID:3A4F9199-65A8-11D5-85C1-0001023952C1"
});
dom.appendChild(SGWorld);

return SGWorld;
}

(4)判断是否安装了terraexplorer代码片段

 

initSGWorld: function(extent,isCompare) {
var self = this;
this.SGWorld = this.createSGWorld();
var InformationWindow = self.TEinfowindow;
try {
if(!self.DisActiveX("TerraExplorerX.TE3DWindow.1")){
console.log(this.SGWorld.version);
alert("请先下载并安装TEPro6.6.1-SC插件!!!");
    window.location=require.toUrl("./TEPro6.6.1-SC.zip");
}else{
this.SGWorld.Open(this.flyUrl);
}
    } catch (e) {
            return;
    }
this.SGWorld.SetOptionParam("AltitudeType",1);
this.SGWorld.AttachEvent("OnLoadFinished", function() {
treeDtoolBar.SGWorld=self.SGWorld;
treeDtoolBar.InformationWindow=InformationWindow;
}); 
}

/**
   * 检测是否已安装指定插件 
   * 
   * pluginName 插件名称 
   */
DisActiveX:function(pluginName)
   {       
var result;
    try {
            result = new ActiveXObject(pluginName);
            delete result;
        } catch (e) {
            return false;
        }
        return true;
   }

将不定期更新资源,欢迎持续关注


想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码

目录
相关文章
|
2月前
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
计算机网络:思科实验【1-访问WEB服务器】
|
2月前
|
数据可视化 Shell Linux
shell+crontab+gitlab实现ecs服务器文件的web展示
本文通过把ecs服务器上的文件定时上传至gitlab,实现文件的页面可视化和修改历史。技术点:shell、crontab、gitlab。
50 3
|
27天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
2月前
|
存储 网络协议 Linux
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
《网络是怎么样连接的》读书笔记 - WEB服务端请求和响应(五)
36 0
|
1天前
|
Python 数据可视化 索引
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
11 0
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
|
27天前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
20 0
|
1月前
|
存储 测试技术 C++
P2P网络下分布式文件共享场景的测试
P2P网络下分布式文件共享场景的测试
29 6
|
1月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
107 1
|
1月前
|
SQL 监控 安全
网络安全产品之认识WEB应用防火墙
随着B/S架构的广泛应用,Web应用的功能越来越丰富,蕴含着越来越有价值的信息,应用程序漏洞被恶意利用的可能性越来越大,因此成为了黑客主要的攻击目标。传统防火墙无法解析HTTP应用层的细节,对规则的过滤过于死板,无法为Web应用提供足够的防护。为了解决上述问题,WAF应运而生。它通过执行一系列针对HTTP、HTTPS的安全策略,专门对Web应用提供保护。
37 1
|
1月前
|
人工智能 监控 安全
网络安全知识入门:Web应用防火墙是什么?
网络安全知识入门:Web应用防火墙是什么?
22 1