版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}
将不定期更新资源,欢迎持续关注
想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码