deeptwins-engine-3d 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +1 -1
- package/dist/esm/map/Event.d.ts +12 -4
- package/dist/esm/map/Event.js +43 -21
- package/dist/umd/deeptwins-engine-3d.min.js +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -48,7 +48,7 @@ loadCss(Cesium.buildModuleUrl('Widgets/widgets.css'));
|
|
|
48
48
|
export var DeepTwinsEngine3D = /*#__PURE__*/_createClass(function DeepTwinsEngine3D() {
|
|
49
49
|
_classCallCheck(this, DeepTwinsEngine3D);
|
|
50
50
|
});
|
|
51
|
-
_defineProperty(DeepTwinsEngine3D, "Version", "0.1.
|
|
51
|
+
_defineProperty(DeepTwinsEngine3D, "Version", "0.1.12");
|
|
52
52
|
_defineProperty(DeepTwinsEngine3D, "Map", Map);
|
|
53
53
|
_defineProperty(DeepTwinsEngine3D, "GroundSkyBox", GroundSkyBox);
|
|
54
54
|
_defineProperty(DeepTwinsEngine3D, "RasterLayer", RasterLayer);
|
package/dist/esm/map/Event.d.ts
CHANGED
|
@@ -8,10 +8,18 @@ export default class Event {
|
|
|
8
8
|
private _getPickedObject;
|
|
9
9
|
private _notifySubscribers;
|
|
10
10
|
private _subscribe;
|
|
11
|
-
listenToMap(type: any, event: any):
|
|
11
|
+
listenToMap(type: any, event: any): {
|
|
12
|
+
off: () => void;
|
|
13
|
+
};
|
|
12
14
|
listenToCamera(type: any, event: any): any;
|
|
13
15
|
listenToScene(type: any, event: any): any;
|
|
14
|
-
listenToLayer(type: any, event: any, layer: any):
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
listenToLayer(type: any, event: any, layer: any): {
|
|
17
|
+
off: () => void;
|
|
18
|
+
};
|
|
19
|
+
listenToPointCluster(type: any, event: any, cluster: any): {
|
|
20
|
+
off: () => void;
|
|
21
|
+
};
|
|
22
|
+
listenToModelRoam(type: any, event: any, modelRoam: any): {
|
|
23
|
+
off: () => void;
|
|
24
|
+
};
|
|
17
25
|
}
|
package/dist/esm/map/Event.js
CHANGED
|
@@ -8,6 +8,9 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
8
8
|
import * as Cesium from 'deeptwins-cesium';
|
|
9
9
|
import * as utils from "../tool/utils";
|
|
10
10
|
|
|
11
|
+
// 单机延迟
|
|
12
|
+
var CLICK_DELAY = 200;
|
|
13
|
+
|
|
11
14
|
// 根据事件类型进行处理
|
|
12
15
|
function dealWithMapType(type, event) {
|
|
13
16
|
var _obj;
|
|
@@ -114,40 +117,59 @@ var Event = /*#__PURE__*/function () {
|
|
|
114
117
|
value: function _subscribe(type, callback) {
|
|
115
118
|
var _this = this;
|
|
116
119
|
var self = this;
|
|
120
|
+
// 订阅器
|
|
121
|
+
var subscriber;
|
|
117
122
|
// 如果没有注册过该类型的事件处理器,则创建一个
|
|
118
123
|
if (!this._eventSubscriptions.has(type)) {
|
|
119
124
|
// 注册事件
|
|
120
125
|
var handler = new Cesium.ScreenSpaceEventHandler(this.getMap().scene.canvas);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
// 单击特殊处理
|
|
127
|
+
if (type === Cesium.ScreenSpaceEventType.LEFT_CLICK) {
|
|
128
|
+
var lastClickTime = 0;
|
|
129
|
+
handler.setInputAction(function (e) {
|
|
130
|
+
var now = performance.now();
|
|
131
|
+
if (now - lastClickTime >= CLICK_DELAY) {
|
|
132
|
+
_this._notifySubscribers(type, e);
|
|
133
|
+
lastClickTime = now;
|
|
134
|
+
}
|
|
135
|
+
}, type);
|
|
136
|
+
} else if (type === Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK) {
|
|
137
|
+
// 移除 Cesium Viewer 默认的双击缩放
|
|
138
|
+
this.getMap().cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
|
|
139
|
+
handler.setInputAction(function (e) {
|
|
140
|
+
// 发布订阅
|
|
141
|
+
_this._notifySubscribers(type, e);
|
|
142
|
+
}, type);
|
|
143
|
+
} else {
|
|
144
|
+
handler.setInputAction(function (e) {
|
|
145
|
+
// 发布订阅
|
|
146
|
+
_this._notifySubscribers(type, e);
|
|
147
|
+
}, type);
|
|
148
|
+
}
|
|
128
149
|
// 订阅器
|
|
129
|
-
|
|
150
|
+
subscriber = {
|
|
130
151
|
handler: handler,
|
|
131
152
|
callbacks: new Set([callback])
|
|
132
153
|
};
|
|
133
|
-
subscriber.off = function () {
|
|
134
|
-
subscriber.callbacks.delete(callback);
|
|
135
|
-
// 如果没有订阅者了,移除处理器
|
|
136
|
-
if (subscriber.callbacks.size === 0) {
|
|
137
|
-
var _subscriber$handler;
|
|
138
|
-
(_subscriber$handler = subscriber.handler) === null || _subscriber$handler === void 0 || _subscriber$handler.off();
|
|
139
|
-
self._eventSubscriptions.delete(type);
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
154
|
this._eventSubscriptions.set(type, subscriber);
|
|
143
|
-
return subscriber;
|
|
144
155
|
} else {
|
|
145
156
|
// 订阅器
|
|
146
|
-
|
|
157
|
+
subscriber = this._eventSubscriptions.get(type);
|
|
147
158
|
// 订阅列表
|
|
148
|
-
|
|
149
|
-
return _subscriber;
|
|
159
|
+
subscriber.callbacks.add(callback);
|
|
150
160
|
}
|
|
161
|
+
var off = function off() {
|
|
162
|
+
subscriber.callbacks.delete(callback);
|
|
163
|
+
if (subscriber.callbacks.size === 0) {
|
|
164
|
+
var _subscriber$handler;
|
|
165
|
+
// 如果没有订阅者了,移除处理器
|
|
166
|
+
(_subscriber$handler = subscriber.handler) === null || _subscriber$handler === void 0 || _subscriber$handler.removeInputAction(type);
|
|
167
|
+
self._eventSubscriptions.delete(type);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
return {
|
|
171
|
+
off: off
|
|
172
|
+
};
|
|
151
173
|
}
|
|
152
174
|
|
|
153
175
|
// 监听地图事件
|