Skip to content

在Cesium的Sandcastle中使用EarthSDK

Tang Xiaofei edited this page Oct 18, 2019 · 4 revisions

在Cesium的Sandcastle中使用EarthSDK

前言

EarthSDK v1.2.0版以后,实现了Cesium的拆分。即EarthSDK所依赖的Cesium.js是可以替换的。开发者可以使用Cesium官网的Cesium.js,也可以使用自身已做修改的Cesium版本来替换EarthSDK中默认的Cesium.js。

EarthSDK的使用也因此变得更加方便,比如可以在Cesium的Sandcastle中直接使用EarthSDK。这样做的好处是,可以直接调试EarthSDK中使用的Cesium源码,方便查找开发过程中的bug。

EarthSDK

代码

需要引入的代码如下:

function earthStartUp() {
    var earth = new XE.Earth('cesiumContainer');
    earth.sceneTree.root = {
        "children": [
            {
                "czmObject": {
                    "name": "默认离线影像",
                    "xbsjType": "Imagery",
                    "xbsjImageryProvider": {
                        "createTileMapServiceImageryProvider": {
                            "url": XE.HTML.cesiumDir + 'Assets/Textures/NaturalEarthII',
                            "fileExtension": 'jpg',
                        },
                        "type": "createTileMapServiceImageryProvider"
                    }
                }
            },
        ]
    };
}

window.Cesium = Cesium;
window.xbsjEarthDir = 'http://127.0.0.1:81/XbsjEarth/';
require(['http://127.0.0.1:81/XbsjEarth/XbsjEarth.js'], function () {
    XE.ready().then(earthStartUp);
});

需要注意的是,xbsjEarthDir所指定的XbsjEarth.js路径需要自行调整!

或者直接earthsdk官网的js地址,即把http://127.0.0.1:81/XbsjEarth/更换成https://earthsdk.com/v/last/XbsjEarth/

代码如下:

function earthStartUp() {
    var earth = new XE.Earth('cesiumContainer');
    earth.sceneTree.root = {
        "children": [
            {
                "czmObject": {
                    "name": "默认离线影像",
                    "xbsjType": "Imagery",
                    "xbsjImageryProvider": {
                        "createTileMapServiceImageryProvider": {
                            "url": XE.HTML.cesiumDir + 'Assets/Textures/NaturalEarthII',
                            "fileExtension": 'jpg',
                        },
                        "type": "createTileMapServiceImageryProvider"
                    }
                }
            },
        ]
    };
}

window.Cesium = Cesium;
window.xbsjEarthDir = 'https://earthsdk.com/v/last/XbsjEarth/';
require(['https://earthsdk.com/v/last/XbsjEarth/XbsjEarth.js'], function () {
    XE.ready().then(earthStartUp);
});

调试

如果需要调试的话,只需要F12打开控制,找到指定的Cesium源码文件即可:

Cesium源码调试

如果希望在控制台输入命令时,需要先选择相应的子窗口才能调试。调试三维地球,需要选择:bucketFrame这一项。

image.png

然后就可以愉快的输入命令了:

输入命令


欢迎关注 Cesium实验室 ,QQ群号:830157717

QQ群