分享
查看: 1943|回复: 0

[分享] 低代码中,地图场景和园区场景相互切换(互相独立存在)

[复制链接]

低代码中,地图场景和园区场景相互切换(互相独立存在)

发表于 2023-6-27 16:18:43 来自 分享 只看大图 阅读模式 倒序浏览
zzv_icon1943 zzr_icon0 查看全部
本帖最后由 18979425409 于 2023-6-27 16:20 编辑

功能:在地图场景下,点击按钮,销毁地图场景并切换到园区场景;在园区场景下,点击另一个按钮销毁园区场景并切换回地图场景。

低代码中,地图场景和园区场景相互切换(互相独立存在)

1.准备工作
通过创建App对象,对3D场景进行初始化,创建地图场景,创建两个按钮切换按钮

  1. var app = new THING.App()
  2. app.background = [0, 0, 0]
  3. var map  //地图场景
  4. var campus  // 园区场景

  5. THING.Utils.dynamicLoad(['https://www.thingjs.com/uearth/history/uearth.min.v1.7.20.js'], function () {
  6.     // 新建一个地图
  7.     map = app.create({
  8.         type: 'Map',
  9.         style: {
  10.             night: false
  11.         },
  12.         attribution: '高德'
  13.     });
  14.     // 新建一个瓦片图层
  15.     var tileLayer = app.create({
  16.         type: 'TileLayer',
  17.         name: 'tileLayer1',
  18.         url: 'https://webst0{1,2,3,4}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
  19.         maximumLevel: 16,
  20.     });

  21.     // 将瓦片图层添加到map中
  22.     map.addLayer(tileLayer);

  23.     new THING.widget.Button('切换园区', changeToCam)
  24.     new THING.widget.Button('切换城市', changeToMap)
  25. })
复制代码

2.由地图场景切换到园区场景
  1. function changeToCam(){
  2.    // 销毁地图
  3.         map.destroy()
  4.         // 加载场景代码
  5.         app = new THING.App({
  6.             url: 'https://www.thingjs.com/static/models/factory',  // 场景地址
  7.             background: '#000000',
  8.             env: 'Seaside',
  9.         });
  10.         campus = app.query(".Campus")[0]
  11.         app.level.change(app.query(".Campus")[0])
  12.         //设置/获取摄像机 UP 方向,默认值为 [0,1,0]
  13.         app.camera.up = [0, 1, 0]
  14.         //观察某物体
  15.         app.camera.fit(campus);
  16. }
复制代码

3.由园区场景切换到地图场景
  1. function changeToMap(){
  2.         // 销毁园区场景
  3.         campus.destroy()
  4.         app = new THING.App();
  5.         map = app.create({
  6.             type: 'Map',
  7.             // 地图场景地址
  8.             url: 'https://city.thingjs.com/ra/city/mapProject/config/TVRRNE9UYzRNZz09Q2l0eUJ1aWxkZXJAMjAxOQ==',
  9.             complete: function (event) {
  10.             }
  11.         });
  12.         //设置/获取摄像机 UP 方向,默认值为 [0,1,0]
  13.         app.camera.up = [0, 1, 0]
  14.         //观察某物体
  15.         app.camera.fit(map)
  16.     })
  17. }
复制代码

app.camera.up文档地址:https://support.thingjs.com/book/thingjs-api10/62a8170c6634aa32be547d1e#up
app.camera.fit()文档地址:https://support.thingjs.com/book/thingjs-api10/62a8170c6634aa32be547d1e#fit(param)




avatar
游客~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

130700ppkpl8x3t7tt1b1t