切换深色模式
快速上手
如何在ThingUE中使用Cesium
javascript
// 创建地球,如果不填写url高程数据,则默认通过VPN访问BingMap
global.map = new THING.UE.EARTH.Map({
url: `use your DEM url`, // 'localhost:8080/DEM/layer.json'
});
// 加载栅格化瓦片(影像瓦片等)
let tileMapLayer = map.terrain.addLayer({
name: 'tileMapLayer',
url: 'https://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', // 高德瓦片
maximumLevel: 18
});
// 加载道路瓦片(需要注意加载顺序,否则影像瓦片会覆盖道路瓦片)
let roadMapLayer = map.terrain.addLayer({
name: 'roadMapLayer',
url: 'https://wprd04.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&size=1&scl=1&style=8<ype=11', // 高德道路瓦片
maximumLevel: 18
});
// 加载3DTiles数据(倾斜摄影,通用模型FBX、OB等,矢量数据SHP、GEOJSON都可以通过CesiumLab转换为3D瓦片数据)
let tile3DLayer = new THING.UE.EARTH.Tile3DLayer({
map: map,
name: `tile3DLayer`,
url: `use your tile3ds url`, // 'localhost:8080/tile3d/tileset.json'
offset: [0, 0, 0]
});
// 经纬度的表示( 第三项海拔高度)
let LonlatBeiJing = [116.46, 39.92, 100];
// 经纬度转世界坐标
let WoldPosition = THING.UE.EARTH.Math.convertLonlatToWorld(LonlatBeiJing);
// 世界坐标转经纬度 (第三项为海拔高度)
let Lonlat = THING.UE.EARTH.Math.convertWorldToLonlat(WoldPosition);
// 地球上创建Marker,其它3D对象同理,将经纬度转为世界坐标系下的3D坐标即可
let marker = new THING.Marker({
style: {
transparent: true,
lights: false,
image: new THING.ImageTexture('./Content/Resources/marker.png') // use your image resource.
},
keepSize: true,
keepSizeDistance: 300,
occlusionCulling: false,
position: THING.UE.EARTH.Math.convertLonlatToWorld([116.46, 39.92, 100]),
scale: [0.5, 0.5, 0.5]
});
// 注意ThingUE场景一般通过一下方式进行加载,如果在地球上不适用精模的情况下,一般仅需加载一个空场景
// 且暂不支持地球相关层级的控制比如省、市等层级,仅支持campus层级,可自定义层级控制
{
/*
app.loadBundle(['./Paks/UE5_Sky'],
{
external: { buildingShowObjects: true }, //设置在建筑层级是否显示室内物体
assets: true, //是否加载资源
ignoreTheme: true, //是否忽略主题
complete: function (ev) {
require('./UE4Example/Earth/main');
app.splashScreen.visible = false;
}
}
);
*/
}