SkylineGlobe 如何实现二次开发加载KML文件

示例代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" language="javascript">
        function LoadKML() {
            try {
                var sg = CreateSGObj();
                var kmlLayer = sg.Creator.CreateKMLLayer(abspath()+"/Binoculars.kml","");
            }
            catch (e) {
                alert(e);
            }
        }

        /*
        功能:   创建sgworld对象
        备注:   赵贺 2011.04.01.
        */

        function CreateSGObj() {
            var obj = $("sgworld");
            if (obj == null) {
                obj = document.createElement(‘object‘);
                document.body.appendChild(obj);
                obj.name = "sgworld";
                obj.id = "sgworld";
                obj.classid = "CLSID:3a4f9197-65a8-11d5-85c1-0001023952c1";
            }
            return obj;
        }
        function $(id) {
            return window.document.getElementById(id);
        }

        //--------------
        // abspath
        function abspath() {
            var abspath = unescape(window.location.href);

            // Remove query String
            var index = abspath.indexOf("?");
            if (index > 0) abspath = abspath.substr(0, index - 1);

            index = abspath.lastIndexOf("/");
            var index2 = abspath.lastIndexOf("\\");

            index = (index > index2) ? index : index2;
            if (index <= 0) return abspath;

            abspath = abspath.substring(0, index);

            if (abspath.substring(0, 1) == "/") abspath = abspath.slice(1);

            var re = /file:\/\/\//gi;
            if (abspath.match(re) != null) abspath = abspath.replace(re, ""); // if this is indeed a local file, we strip the "file://" prefix from it.    

            return (abspath);
        }
    </script>
</head>
<body >
    <input id="Button1" type="button" value="加载KML" onclick="LoadKML()" />
    <object id="TE3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width="1000px"
        height="600px">
    </object>
    <OBJECT ID="TerraExplorerInformationWindow" CLASSID="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" width="200px"
        height="600px" ></OBJECT>
</body>
</html>
时间: 2024-10-22 11:52:24

SkylineGlobe 如何实现二次开发加载KML文件的相关文章

spring入门(二)【加载properties文件】

在开发过程当中需要用到配置信息,这些信息不能进行硬编码,这时配置文件是一个比较好的方式,java提供了properties格式的文件,以键值对的方式保存信息,在读取的时候通过键获得键对应的值,spring提供了读取properties文件的支持,下面看具体的配置, 一.<context:property-placeholder location=""/>标签 在项目中经常用到数据库连接,连接数据库需要一些参数:driver.url.username.password,这些信

二十一、加载静态文件,父模板的继承和扩展

用url_for加载静态文件 <script src="{{ url_for('static',filename='js/login.js') }}"></script> flask 从static文件夹开始寻找 可用于加载css, js, image文件 继承和扩展 把一些公共的代码放在父模板中,避免每个模板写同样的内容.base.html 子模板继承父模板 {% extends 'base.html' %} 父模板提前定义好子模板可以实现一些自己需求的位置及

skyline开发——加载Shapefile文件

1 //1)获取道路的GroupID 2 string dlId = ptm.FindGroupByName("道路"); 3 IFeatureLayer66 featureLayer = null; 4 string tShapeFileName = path + "out_feature_class.shp"; 5 string tConnectionString = String.Format("FileName={0};TEPlugName=OGR

php手撸轻量级开发(二)框架加载

先上图,有图有真相 1. 加载index文件 index文件是整个项目的唯一入口,任何请求进入项目都是走的index,只是带的参数不一样,然后再在index文件里加载其他文件,相当于把其他文件整个复制到index文件中,但是开发中会更好看. index.php 文件代码: <?php ini_set('display_errors', 'on');//开启或关闭PHP异常信息 date_default_timezone_set('Asia/Shanghai'); define('FD_DS',

[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型

[iTyran原创]iPhone中OpenGL ES显示3DS MAX模型之二:lib3ds加载模型 作者:u0u0 - iTyran 在上一节中,我们分析了OBJ格式.OBJ格式优点是文本形式,可读性好,缺点也很明显,计算机解析文本过程会比解析二进制文件慢很多.OBJ还有个问题是各种3D建模工具导出的布局格式还不太一样,face还有多边形(超过三边形),不利于在OpenGL ES里面加载. .3ds文件是OBJ的二进制形式,并且多很多信息.有一个C语言写的开源库可以用来加.3ds文件,这就是l

FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据

前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT> 和<EMBED>标记来加载图形的,但是这样做是非常不“理智”的.这样做除了代码量比较大外,还有并不是所有的人能够看懂上面的代码.但是 使用JS后就可以避免上面几个问题了. 一.使用JS加载FusionCharts图形 下面就分五个步骤讲解如何使用js来加载FusionCharts图形. 第一步:导入FusionCharts.js文件 [javascript]

django开发环境setting.py里面设置debug=false时却成功加载静态文件?

django开发环境setting.py里面设置debug=false时却成功加载静态文件?按理来说应该是加载失败的. 启动服务器,运行正常,但是静态文件如css,js,图片是无法加载的. 问题: 解答:问题在于使用的是谷歌浏览器,默认使用了缓存.导致每次访问同一个url时,都返回的是缓存里面的东西. 通过谷歌浏览器里面的开发者工具network下面的选项能禁用缓存.禁用缓存之后,则在django开发环境里面,运行 python manage.py runserver,如将DEBUG的值设为Tr

Java 反射理解(二)-- 动态加载类

Java 反射理解(二)-- 动态加载类 概念 在获得类类型中,有一种方法是 Class.forName("类的全称"),有以下要点: 不仅表示了类的类类型,还代表了动态加载类 编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 演示 我们以具体的代码来演示什么是动态加载类和静态加载类: 新建:Office.java: class Office { public static void main(String[] args) { // new 创建对象,是静态加载类,在编译时刻就需

网页开发 之 javascript加载css文件

在正常情况下浏览器加载css文件一般有3个来源 (1)浏览器默认自带的 (2)在网页的head文件中加载 (3)在网页代码中夹杂插入 今天要介绍的是通过Javascript也可以去加载css文件 下面加入代码 var fileref = document.createElement('link'); fileref.setAttribute('rel', 'stylesheet'); fileref.setAttribute('type', 'text/css'); fileref.setAtt