(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);
|