本帖最后由 夏天骑冷月 于 2024-1-11 10:05 编辑  
 
1.加载多套图表 
多图表的加载需要在第二套的图表上加上参数  reuse: true, 
代码如下所示: 
- // 引入一键图表脚本
 
 - THING.Utils.dynamicLoad(['/static/ScenePreview/chart/PreviewChartControl.js'], function () {
 
 -     // 创建图表
 
 -     new PreviewChartControl({
 
 -         url: '/api/chart/63f588dcee63ce1d897ab776',
 
 -         tag: '1',
 
 -         isLoad: true,  // 加载页,默认为true
 
 -         isApplyBackground: false,  // 是否应用图表背景,启用该参数会替换app.background的值,默认false
 
 -         autoResize: {  // 图表自适应
 
 -            enable: false,  // 自适应图表分辨率,默认为false
 
 -            orgin: 'center center'  // 自适应的基准点,第一个参数取值为:left、center、right,第二个参数取值为:top、center、bottom,默认值为“center center”
 
 -         },
 
 -         complete: function(){
 
 -            
 
  
-     new PreviewChartControl({
 
 -         url: '/api/chart/63f329adee63ce1d897ab6e1',
 
 -         tag: '1',
 
 -         isLoad: true,  // 加载页,默认为true
 
 -          reuse: true,
 
 -         isApplyBackground: false,  // 是否应用图表背景,启用该参数会替换app.background的值,默认false
 
 -         autoResize: {  // 图表自适应
 
 -            enable: false,  // 自适应图表分辨率,默认为false
 
 -            orgin: 'center center'  // 自适应的基准点,第一个参数取值为:left、center、right,第二个参数取值为:top、center、bottom,默认值为“center center”
 
 -         },
 
 -         complete: function(){
 
 -            
 
 -         }
 
 -     });
 
  
 
 
-         }
 
 -     });
 
 - })
 
  复制代码 2.如何切换图表 
图表的切换需要将两套图表都加载在项目中,对图表进行打组,之后可用css动画控制图表组合的移入移出作为切换展示。 
可参考如下示例: 
(1)选择一张图表作为首页 
 
 
(2)首页图表可包含标题,底部按钮,两侧边框等内容,另选一张作为需要切换的第二套图表,图表内容应相互关联,风格相近 
 
 
(3)对图表进行左侧和右侧的打组,便于控制,如下图示例: 
 
 
(4)添加切换的Css动画: 
 
 
- .showleft{
 
 -     animation: leftShow 2s forwards;
 
 - }
 
 - @keyframes leftShow{
 
 -     from{left: -450px}
 
 -     to{left: 25px}
 
 - }
 
 - .removeleft{
 
 -     animation: leftRemove 2s forwards;
 
 - }
 
 - @keyframes leftRemove {
 
 -     from{left: 25px}
 
 -     to{left:-450px}
 
 - }
 
 - .showRight{
 
 -     animation: rightShow 2s forwards;
 
 - }
 
 - @keyframes rightShow{
 
 -     from{left:2000px}
 
 -     to{left:1680px}
 
 - }
 
 - .removeRight{
 
 -     animation: rightRemove 2s forwards;
 
 - }
 
 - @keyframes rightRemove{
 
 -     from{left:1680px}
 
 -     to{left:2000px}
 
 - }
 
 - .removeTop{
 
 -      animation:  topRemove 2s forwards;
 
 - }
 
 - @keyframes  topRemove{
 
 -     from{top:0px}
 
 -     to{top:-200px}
 
  
- }
 
 - .showTop{
 
 -     animation:  topShow 2s forwards;
 
 - }
 
 - @keyframes  topShow{
 
 -     from{top:-200px}
 
 -     to{top:-0px}
 
 - }
 
 - .scale{ 
 
 -      transform:  scale(0.5); 
 
 - }
 
 
  复制代码 (5)给对应按钮添加上点击事件,实现切换功能 
- $('div[data-group-alias=group_top02]').on('click', function () {//给组名为group_top02的按钮添加事件,此处可修改为按钮的组别名
 
 -             // 摄像机飞行到某位置
 
 -             app.camera.flyTo({
 
 -                 'position': [-10.397369275768664, 18.13095377395566, 38.36528228041324],
 
 -                 'target': [-10.486774704086308, 5.771037733772861, 5.53022802939024],
 
 -                 'time': 2000,
 
 -                 'complete': function () {
 
 -                 }
 
 -             });
 
 -             $('div[data-group-alias=group_left01]').css({ visibility: 'visible', opacity: '1' })//控制组名为group_left01的图表显示
 
 -             $('div[data-group-alias=group_right01]').css({ visibility: 'visible', opacity: '1' })
 
 -             $('div[data-group-alias=group_top]').css({ visibility: 'visible', opacity: '1' })
 
 -             $('div[data-group-alias=group_left01]').removeClass('removeleft').addClass('showleft');
 
 -             $('div[data-group-alias=group_right01]').removeClass('removeRight').addClass('showRight');
 
 -             $('div[data-group-alias=group_left02]').addClass('removeleft');
 
 -             $('div[data-group-alias=group_right02]').addClass('removeRight');
 
 -             $('div[data-group-alias=group_top02]').removeClass('showTop').addClass('removeTop');
 
 -             $('div[data-group-alias=group_top]').removeClass('removeTop').addClass('showTop');
 
 -         });
 
  复制代码 
 
 
 |   
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |