| 
 
| 本帖最后由 yamazaki1201 于 2024-6-21 15:21 编辑 
 
 
 项目预览地址:https://www.thingjs.com/s/4214a1eb7238fe9b5396bc40
 
 复制代码
var app = new THING.App(); //创建3D场景对象
var map //定义地图场景对象
THING.Utils.dynamicLoad(['https://www.thingjs.com/uearth/uearth.min.js'], function () {
    map = app.create({
        type: 'Map',
        url: 'https://city.thingjs.com/ra/file/fetch/df/file/0AD4BC0DB2868ACD7CCA47F0BA0CC11B37C20DEFA71F26D79AA43D91A05F6F8A51F70274C3E492E636B1923AB5B9A2A400BAE4DABC78169DC76FBA0D7D5573B68D07C6C209711261/map.json',
        complete: function (event) {
            // 地图场景加载完成之后,立刻创建园区
            createCampus()
            // 创建按钮
            new THING.widget.Button('进入园区', function () {
                map.visible = false //隐藏地图场景
                // 是否需要更换鼠标旋转平移功能 下面二选一
                // app.camera.mode = 'normal';  //设置园区场景的键盘操作:鼠标左键旋转场景,右键拖动场景
                app.camera.options = { moveKey: 'right', rotationKey: 'left' }
                // 飞到对应园区视角。也可以使用flyTo 替换,主要是切换到合适视角
                app.camera.fit(app.query('.Campus')[0])
            });
            new THING.widget.Button('退出到地图', function () {
                map.visible = true //显示地图场景
                
                // 是否需要更换鼠标旋转平移功能 下面二选一
                // app.camera.mode = 'earth'; ////设置地图场景的键盘操作:鼠标左键拖动场景,右键右键旋转场景
                app.camera.options = { moveKey: 'left', rotationKey: 'right' }
                // 飞到对应园区视角。也可以使用flyTo 替换,主要是切换到合适视角
                app.camera.fit(app.query('.Campus')[0])
            });
        }
    })
});
function createCampus() {
    // 园区的经纬度坐标(GCJ_02坐标系)
    var sceneLonlat = [116.36854237952045, 39.90210055701153];
    // 将园区的经纬度坐标转为三维坐标,第二个参数代表离地高度
    var position = CMAP.Util.convertLonlatToWorld(sceneLonlat, 0.5)
    // 计算园区在地球上的旋转角度,第二个参数可以调整,对园区在地球表面进行旋转
    var angles = CMAP.Util.getAnglesFromLonlat(sceneLonlat, 180);
    // 创建Campus
    var campus = app.create({
        type: 'Campus',
        name: '工厂',
        url: 'https://www.thingjs.com/static/models/storehouse', // 园区地址
        position: position, // 位置
        angles: angles, // 旋转
        complete: function () { // 创建成功以后执行函数
            // 启动层级控制
            app.level.change(campus);
        }
    });
}
 
 
 
 | 
 | 
|  | 
|
|  | 
|  |  |