@antv/l7-scene 2.9.36-alpha.1 → 2.9.37-alpha.1

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/es/boxSelect.js CHANGED
@@ -10,12 +10,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
- import { DOM } from '@antv/l7-utils';
13
+ import { DOM, getBBoxFromPoints } from '@antv/l7-utils';
14
14
  import { EventEmitter } from 'eventemitter3';
15
- import bbox from '@turf/bbox';
16
- import { featureCollection, lineString } from '@turf/helpers';
17
15
  export var BoxSelectEventList = ['selectstart', 'selecting', 'selectend'];
18
16
 
17
+ // TODO: 将 BoxSelect 模块放在哪里比较合适
19
18
  var BoxSelect = /*#__PURE__*/function (_EventEmitter) {
20
19
  _inherits(BoxSelect, _EventEmitter);
21
20
 
@@ -139,7 +138,7 @@ var BoxSelect = /*#__PURE__*/function (_EventEmitter) {
139
138
  var _this$endEvent$lngLat = this.endEvent.lngLat,
140
139
  lng2 = _this$endEvent$lngLat.lng,
141
140
  lat2 = _this$endEvent$lngLat.lat;
142
- return bbox(featureCollection([lineString([[lng1, lat1], [lng2, lat2]])]));
141
+ return getBBoxFromPoints([[lng1, lat1], [lng2, lat2]]);
143
142
  }
144
143
  }]);
145
144
 
package/es/index.d.ts CHANGED
@@ -43,6 +43,7 @@ declare class Scene implements IPostProcessingPassPluggable, IMapController, ILa
43
43
  registerRenderService(render: any): void;
44
44
  setBgColor(color: string): void;
45
45
  addLayer(layer: ILayer): void;
46
+ initMask(layer: ILayer): ILayer | undefined;
46
47
  addMask(mask: ILayer, layerId: string): void;
47
48
  getPickedLayer(): number;
48
49
  getLayers(): ILayer[];
package/es/index.js CHANGED
@@ -46,9 +46,7 @@ var Scene = /*#__PURE__*/function () {
46
46
  this.markerService = sceneContainer.get(TYPES.IMarkerService);
47
47
  this.interactionService = sceneContainer.get(TYPES.IInteractionService);
48
48
  this.popupService = sceneContainer.get(TYPES.IPopupService);
49
- this.boxSelect = new BoxSelect(this, {
50
- className: config.selectBoxClassName
51
- });
49
+ this.boxSelect = new BoxSelect(this, {});
52
50
 
53
51
  if (isMini) {
54
52
  this.sceneService.initMiniScene(config);
@@ -145,36 +143,47 @@ var Scene = /*#__PURE__*/function () {
145
143
  }, {
146
144
  key: "addLayer",
147
145
  value: function addLayer(layer) {
146
+ var _this2 = this;
147
+
148
148
  // 为当前图层创建一个容器
149
149
  // TODO: 初始化的时候设置 容器
150
150
  var layerContainer = createLayerContainer(this.container);
151
151
  layer.setContainer(layerContainer, this.container);
152
- this.sceneService.addLayer(layer);
153
- var layerConfig = layer.getLayerConfig();
154
-
155
- if (layerConfig) {
156
- // layer 未初始化成功,则 layerConfig 为 undefined (scene loaded 尚未执行完成)
157
- var mask = layerConfig.mask,
158
- maskfence = layerConfig.maskfence,
159
- _layerConfig$maskColo = layerConfig.maskColor,
160
- maskColor = _layerConfig$maskColo === void 0 ? '#000' : _layerConfig$maskColo,
161
- _layerConfig$maskOpac = layerConfig.maskOpacity,
162
- maskOpacity = _layerConfig$maskOpac === void 0 ? 0 : _layerConfig$maskOpac;
163
-
164
- if (mask && maskfence) {
165
- var maskInstance = new MaskLayer().source(maskfence).shape('fill').style({
166
- color: maskColor,
167
- opacity: maskOpacity
168
- });
169
- this.addMask(maskInstance, layer.id);
170
- }
152
+ this.sceneService.addLayer(layer); // mask 在 scene loaded 之后执行
153
+
154
+ if (layer.inited) {
155
+ var maskInstance = this.initMask(layer);
156
+ this.addMask(maskInstance, layer.id);
171
157
  } else {
172
- console.warn('addLayer should run after scene loaded!');
158
+ layer.on('inited', function () {
159
+ var maskInstance = _this2.initMask(layer);
160
+
161
+ _this2.addMask(maskInstance, layer.id);
162
+ });
173
163
  }
174
164
  }
165
+ }, {
166
+ key: "initMask",
167
+ value: function initMask(layer) {
168
+ var _layer$getLayerConfig = layer.getLayerConfig(),
169
+ mask = _layer$getLayerConfig.mask,
170
+ maskfence = _layer$getLayerConfig.maskfence,
171
+ _layer$getLayerConfig2 = _layer$getLayerConfig.maskColor,
172
+ maskColor = _layer$getLayerConfig2 === void 0 ? '#000' : _layer$getLayerConfig2,
173
+ _layer$getLayerConfig3 = _layer$getLayerConfig.maskOpacity,
174
+ maskOpacity = _layer$getLayerConfig3 === void 0 ? 0 : _layer$getLayerConfig3;
175
+
176
+ if (!mask) return undefined;
177
+ var maskInstance = new MaskLayer().source(maskfence).shape('fill').style({
178
+ color: maskColor,
179
+ opacity: maskOpacity
180
+ });
181
+ return maskInstance;
182
+ }
175
183
  }, {
176
184
  key: "addMask",
177
185
  value: function addMask(mask, layerId) {
186
+ if (!mask) return;
178
187
  var parent = this.getLayer(layerId);
179
188
 
180
189
  if (parent) {
@@ -241,14 +250,14 @@ var Scene = /*#__PURE__*/function () {
241
250
  }, {
242
251
  key: "addIconFonts",
243
252
  value: function addIconFonts(options) {
244
- var _this2 = this;
253
+ var _this3 = this;
245
254
 
246
255
  options.forEach(function (_ref) {
247
256
  var _ref2 = _slicedToArray(_ref, 2),
248
257
  name = _ref2[0],
249
258
  fontUnicode = _ref2[1];
250
259
 
251
- _this2.fontService.addIconFont(name, fontUnicode);
260
+ _this3.fontService.addIconFont(name, fontUnicode);
252
261
  });
253
262
  }
254
263
  /**
@@ -260,10 +269,10 @@ var Scene = /*#__PURE__*/function () {
260
269
  }, {
261
270
  key: "addFontFace",
262
271
  value: function addFontFace(fontFamily, fontPath) {
263
- var _this3 = this;
272
+ var _this4 = this;
264
273
 
265
274
  this.fontService.once('fontloaded', function (e) {
266
- _this3.emit('fontloaded', e);
275
+ _this4.emit('fontloaded', e);
267
276
  });
268
277
  this.fontService.addFontFace(fontFamily, fontPath);
269
278
  }
@@ -525,14 +534,14 @@ var Scene = /*#__PURE__*/function () {
525
534
  }, {
526
535
  key: "enableBoxSelect",
527
536
  value: function enableBoxSelect() {
528
- var _this4 = this;
537
+ var _this5 = this;
529
538
 
530
539
  var once = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
531
540
  this.boxSelect.enable();
532
541
 
533
542
  if (once) {
534
543
  this.boxSelect.once('selectend', function () {
535
- _this4.disableBoxSelect();
544
+ _this5.disableBoxSelect();
536
545
  });
537
546
  }
538
547
  }
package/lib/boxSelect.js CHANGED
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,7 +14,6 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
18
 
22
19
  // src/boxSelect.ts
@@ -28,8 +25,6 @@ __export(boxSelect_exports, {
28
25
  module.exports = __toCommonJS(boxSelect_exports);
29
26
  var import_l7_utils = require("@antv/l7-utils");
30
27
  var import_eventemitter3 = require("eventemitter3");
31
- var import_bbox = __toESM(require("@turf/bbox"));
32
- var import_helpers = require("@turf/helpers");
33
28
  var BoxSelectEventList = ["selectstart", "selecting", "selectend"];
34
29
  var BoxSelect = class extends import_eventemitter3.EventEmitter {
35
30
  constructor(scene, options = {}) {
@@ -112,12 +107,10 @@ var BoxSelect = class extends import_eventemitter3.EventEmitter {
112
107
  const {
113
108
  lngLat: { lng: lng2, lat: lat2 }
114
109
  } = this.endEvent;
115
- return (0, import_bbox.default)((0, import_helpers.featureCollection)([
116
- (0, import_helpers.lineString)([
117
- [lng1, lat1],
118
- [lng2, lat2]
119
- ])
120
- ]));
110
+ return (0, import_l7_utils.getBBoxFromPoints)([
111
+ [lng1, lat1],
112
+ [lng2, lat2]
113
+ ]);
121
114
  }
122
115
  };
123
116
  // Annotate the CommonJS export names for ESM import in node:
package/lib/index.js CHANGED
@@ -47,9 +47,7 @@ var Scene = class {
47
47
  this.markerService = sceneContainer.get(import_l7_core.TYPES.IMarkerService);
48
48
  this.interactionService = sceneContainer.get(import_l7_core.TYPES.IInteractionService);
49
49
  this.popupService = sceneContainer.get(import_l7_core.TYPES.IPopupService);
50
- this.boxSelect = new import_boxSelect.default(this, {
51
- className: config.selectBoxClassName
52
- });
50
+ this.boxSelect = new import_boxSelect.default(this, {});
53
51
  if (import_l7_utils.isMini) {
54
52
  this.sceneService.initMiniScene(config);
55
53
  } else {
@@ -112,26 +110,34 @@ var Scene = class {
112
110
  const layerContainer = (0, import_l7_core.createLayerContainer)(this.container);
113
111
  layer.setContainer(layerContainer, this.container);
114
112
  this.sceneService.addLayer(layer);
115
- const layerConfig = layer.getLayerConfig();
116
- if (layerConfig) {
117
- const {
118
- mask,
119
- maskfence,
120
- maskColor = "#000",
121
- maskOpacity = 0
122
- } = layerConfig;
123
- if (mask && maskfence) {
124
- const maskInstance = new import_l7_layers.MaskLayer().source(maskfence).shape("fill").style({
125
- color: maskColor,
126
- opacity: maskOpacity
127
- });
128
- this.addMask(maskInstance, layer.id);
129
- }
113
+ if (layer.inited) {
114
+ const maskInstance = this.initMask(layer);
115
+ this.addMask(maskInstance, layer.id);
130
116
  } else {
131
- console.warn("addLayer should run after scene loaded!");
117
+ layer.on("inited", () => {
118
+ const maskInstance = this.initMask(layer);
119
+ this.addMask(maskInstance, layer.id);
120
+ });
132
121
  }
133
122
  }
123
+ initMask(layer) {
124
+ const {
125
+ mask,
126
+ maskfence,
127
+ maskColor = "#000",
128
+ maskOpacity = 0
129
+ } = layer.getLayerConfig();
130
+ if (!mask)
131
+ return void 0;
132
+ const maskInstance = new import_l7_layers.MaskLayer().source(maskfence).shape("fill").style({
133
+ color: maskColor,
134
+ opacity: maskOpacity
135
+ });
136
+ return maskInstance;
137
+ }
134
138
  addMask(mask, layerId) {
139
+ if (!mask)
140
+ return;
135
141
  const parent = this.getLayer(layerId);
136
142
  if (parent) {
137
143
  const layerContainer = (0, import_l7_core.createLayerContainer)(this.container);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-scene",
3
- "version": "2.9.36-alpha.1",
3
+ "version": "2.9.37-alpha.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -23,23 +23,22 @@
23
23
  "author": "xiaoiver",
24
24
  "license": "ISC",
25
25
  "dependencies": {
26
- "@antv/l7-component": "2.9.36-alpha.1",
27
- "@antv/l7-core": "2.9.36-alpha.1",
28
- "@antv/l7-layers": "2.9.36-alpha.1",
29
- "@antv/l7-maps": "2.9.36-alpha.1",
30
- "@antv/l7-renderer": "2.9.36-alpha.1",
31
- "@antv/l7-utils": "2.9.36-alpha.1",
26
+ "@antv/l7-component": "2.9.37-alpha.1",
27
+ "@antv/l7-core": "2.9.37-alpha.1",
28
+ "@antv/l7-layers": "2.9.37-alpha.1",
29
+ "@antv/l7-maps": "2.9.37-alpha.1",
30
+ "@antv/l7-renderer": "2.9.37-alpha.1",
31
+ "@antv/l7-utils": "2.9.37-alpha.1",
32
32
  "@babel/runtime": "^7.7.7",
33
- "@turf/turf": "^6.5.0",
34
33
  "eventemitter3": "^4.0.7",
35
34
  "inversify": "^5.0.1",
36
35
  "mapbox-gl": "^1.2.1",
37
36
  "reflect-metadata": "^0.1.13"
38
37
  },
39
38
  "devDependencies": {
40
- "@antv/l7-test-utils": "2.9.36-alpha.1"
39
+ "@antv/l7-test-utils": "2.9.37-alpha.1"
41
40
  },
42
- "gitHead": "dafb82e5eb2cf73db95d8dbdcef63d4ad5f99554",
41
+ "gitHead": "6ac153816c5f28967f71888c2a3e9684eb6e7be8",
43
42
  "publishConfig": {
44
43
  "access": "public"
45
44
  }