fuchengshen
2022-07-04 343ba87e09501be7a63abde000a43e13a5b4f03e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
(function (window, mars3d) {
  //创建widget类,需要继承BaseWidget
  class MyWidget extends mars3d.widget.BaseWidget {
    //外部资源配置
    get resources() {
      return ["./lib/jstree/themes/default-dark/style.css", "./lib/jstree/jstree.min.js", "view.css", "dhjb/globe.js", "dhjb/work.js"];
    }
    //弹窗配置
    get view() {
      return {
        type: "divwindow",
        url: "view.html",
        windowOptions: {
          width: 250,
        },
      };
    }
 
    //初始化[仅执行1次]
    create() {}
    //每个窗口创建完成后调用
    winCreateOK(opt, result) {
      //此处可以绑定页面dom事件
      $("#btn_start").click(function () {
        dataWork.start();
      });
 
      $("#btn_pause").click(function () {
        dataWork.pause();
      });
 
      $("#btn_proceed").click(function () {
        dataWork.proceed();
      });
 
      $("#btn_stop").click(function () {
        dataWork.stop();
      });
 
      window.map = this.map;
      initEditorJS();
    }
    //激活插件
    activate() {
      this.map.on(mars3d.EventType.keydown, this.onMapKeydown, this);
    }
    //释放插件
    disable() {
      this.map.off(mars3d.EventType.keydown, this.onMapKeydown, this);
      dataWork.stop();
    }
    onMapKeydown(event) {
      switch (event.keyCode) {
        default:
          break;
        case "1".charCodeAt(0): //播放、暂停切换
          if (dataWork._isStart) {
            $("#btn_pause").click();
          } else {
            $("#btn_proceed").click();
          }
          break;
        case "2".charCodeAt(0): //停止
          $("#btn_stop").click();
          break;
        case "3".charCodeAt(0): //绑定和解绑键盘(控制器)控制
          this.map.keyboardRoam.enabled = !this.map.keyboardRoam.enabled;
          if (this.map.keyboardRoam.enabled) {
            haoutil.msg("已开启键盘控制");
          } else {
            haoutil.msg("已关闭键盘控制,您可以鼠标进行操作了!");
          }
 
          break;
      }
    }
  }
 
  //注册到widget管理器中。
  mars3d.widget.bindClass(MyWidget);
 
  //每个widet之间都是直接引入到index.html中,会存在彼此命名冲突,所以闭包处理下。
})(window, mars3d);