skyline6:二次开发web工程调用网络fly文件-阿里云开发者社区

开发者社区> bitree1> 正文

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;
   }

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


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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
IOT Studio Web可视化开发与调用业务逻辑API测试
测试iot studio的web可视化开发和业务逻辑功能
792 0
利用Perl开发Internet/Intranet应用之一
作者:未知 文章来源:WEB开发网 更新时间:2007-11-10 10:31:43百度i贴吧   新浪微博           Perl原来主要用于编写一些Unix系统上的管理和监控程序,由于Perl与Unix系统紧密相连,故后来很多人都喜欢采用Perl来编写CGI程序。
764 0
网络IO和磁盘IO详解
1. 缓存IO          缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间。
2481 0
04.Eclipse下Ndk开发(以文件拆分合并为例模拟一下开发过程,参考文件加密的过程)
(创建于2017/12/6) 1.工具类PatchUtils package com.ren.ndk_file_patch; public class PatchUtils { static{ System.
825 0
c#——web service异构系统调用
public static class WebServiceInvoker { /// /// 动态调用WebService /// /// WebService地址 /// 方法名(...
1005 0
Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介
原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理子系统、网络子系统、虚拟文件系统在这个阶段进行分析的,但是为了让大家对内核有个整体的把握,今天还是简单的介绍一下剩余的几个子系统,我们对这几个子系统的分析,只要了解其作用和部分内容即可,不必深究,等我们写上几个驱动,到时候按照驱动再来分析这几个子系统我们就清晰多了。
951 0
+关注
bitree1
沉迷于JAVA软件开发不可自拔
73
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载