@antv/l7-layers 2.8.35 → 2.8.36

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.
Files changed (183) hide show
  1. package/es/Geometry/models/billboard.d.ts +0 -3
  2. package/es/Geometry/models/billboard.js +0 -9
  3. package/es/Geometry/models/billboard.js.map +1 -1
  4. package/es/Geometry/models/sprite.js +2 -2
  5. package/es/core/BaseLayer.d.ts +2 -2
  6. package/es/core/BaseLayer.js.map +1 -1
  7. package/es/core/LayerGroup.d.ts +2 -1
  8. package/es/core/LayerGroup.js +5 -0
  9. package/es/core/LayerGroup.js.map +1 -1
  10. package/es/core/interface.d.ts +25 -2
  11. package/es/core/interface.js.map +1 -1
  12. package/es/image/models/image.js.map +1 -1
  13. package/es/index.d.ts +2 -2
  14. package/es/index.js +2 -2
  15. package/es/index.js.map +1 -1
  16. package/es/line/models/arc.js +4 -4
  17. package/es/line/models/arc.js.map +1 -1
  18. package/es/line/models/arc_3d.js +4 -5
  19. package/es/line/models/arc_3d.js.map +1 -1
  20. package/es/line/models/arcmini.js +5 -5
  21. package/es/line/models/arcmini.js.map +1 -1
  22. package/es/line/models/great_circle.js +3 -3
  23. package/es/line/models/great_circle.js.map +1 -1
  24. package/es/line/models/line.js +3 -3
  25. package/es/line/models/line.js.map +1 -1
  26. package/es/line/models/linearline.js +3 -3
  27. package/es/line/models/linearline.js.map +1 -1
  28. package/es/line/models/simpleLine.js +8 -8
  29. package/es/line/models/simpleLine.js.map +1 -1
  30. package/es/line/models/wall.js +5 -5
  31. package/es/line/models/wall.js.map +1 -1
  32. package/es/mask/index.d.ts +1 -4
  33. package/es/mask/index.js.map +1 -1
  34. package/es/mask/models/fill.js.map +1 -1
  35. package/es/plugins/FeatureScalePlugin.js.map +1 -1
  36. package/es/point/models/extrude.js +3 -4
  37. package/es/point/models/extrude.js.map +1 -1
  38. package/es/point/models/fill.js +3 -4
  39. package/es/point/models/fill.js.map +1 -1
  40. package/es/point/models/fillmage.d.ts +1 -1
  41. package/es/point/models/fillmage.js +6 -21
  42. package/es/point/models/fillmage.js.map +1 -1
  43. package/es/point/models/icon-font.js +1 -1
  44. package/es/point/models/image.js +4 -4
  45. package/es/point/models/image.js.map +1 -1
  46. package/es/point/models/normal.js +1 -2
  47. package/es/point/models/normal.js.map +1 -1
  48. package/es/point/models/radar.js +5 -18
  49. package/es/point/models/radar.js.map +1 -1
  50. package/es/point/models/simplePoint.js +5 -6
  51. package/es/point/models/simplePoint.js.map +1 -1
  52. package/es/point/models/text.js +4 -4
  53. package/es/point/models/text.js.map +1 -1
  54. package/es/polygon/models/extrude.js +2 -3
  55. package/es/polygon/models/extrude.js.map +1 -1
  56. package/es/polygon/models/fill.d.ts +1 -0
  57. package/es/polygon/models/fill.js +37 -12
  58. package/es/polygon/models/fill.js.map +1 -1
  59. package/es/polygon/models/ocean.js +3 -4
  60. package/es/polygon/models/ocean.js.map +1 -1
  61. package/es/polygon/models/water.js +3 -4
  62. package/es/polygon/models/water.js.map +1 -1
  63. package/es/raster/index.d.ts +3 -3
  64. package/es/raster/index.js +16 -6
  65. package/es/raster/index.js.map +1 -1
  66. package/es/raster/models/index.d.ts +1 -1
  67. package/es/raster/models/index.js +3 -1
  68. package/es/raster/models/index.js.map +1 -1
  69. package/es/raster/models/raste-tile.d.ts +23 -0
  70. package/es/raster/models/raste-tile.js +285 -0
  71. package/es/raster/models/raste-tile.js.map +1 -0
  72. package/es/raster/models/raster.js +2 -0
  73. package/es/raster/models/raster.js.map +1 -1
  74. package/es/wind/index.d.ts +1 -17
  75. package/es/wind/index.js.map +1 -1
  76. package/es/wind/models/utils.d.ts +12 -12
  77. package/es/wind/models/utils.js +6 -5
  78. package/es/wind/models/utils.js.map +1 -1
  79. package/es/wind/models/wind.js.map +1 -1
  80. package/es/wind/models/windRender.js.map +1 -1
  81. package/lib/Geometry/models/billboard.js +0 -6
  82. package/lib/Geometry/models/billboard.js.map +1 -1
  83. package/lib/Geometry/models/sprite.js +2 -2
  84. package/lib/core/BaseLayer.js.map +1 -1
  85. package/lib/core/LayerGroup.js +5 -0
  86. package/lib/core/LayerGroup.js.map +1 -1
  87. package/lib/core/interface.js.map +1 -1
  88. package/lib/image/models/image.js.map +1 -1
  89. package/lib/index.js +29 -8
  90. package/lib/index.js.map +1 -1
  91. package/lib/line/models/arc.js +4 -5
  92. package/lib/line/models/arc.js.map +1 -1
  93. package/lib/line/models/arc_3d.js +4 -6
  94. package/lib/line/models/arc_3d.js.map +1 -1
  95. package/lib/line/models/arcmini.js +5 -6
  96. package/lib/line/models/arcmini.js.map +1 -1
  97. package/lib/line/models/great_circle.js +3 -4
  98. package/lib/line/models/great_circle.js.map +1 -1
  99. package/lib/line/models/line.js +3 -4
  100. package/lib/line/models/line.js.map +1 -1
  101. package/lib/line/models/linearline.js +3 -4
  102. package/lib/line/models/linearline.js.map +1 -1
  103. package/lib/line/models/simpleLine.js +8 -9
  104. package/lib/line/models/simpleLine.js.map +1 -1
  105. package/lib/line/models/wall.js +5 -6
  106. package/lib/line/models/wall.js.map +1 -1
  107. package/lib/mask/index.js.map +1 -1
  108. package/lib/mask/models/fill.js.map +1 -1
  109. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  110. package/lib/point/models/extrude.js +3 -5
  111. package/lib/point/models/extrude.js.map +1 -1
  112. package/lib/point/models/fill.js +3 -5
  113. package/lib/point/models/fill.js.map +1 -1
  114. package/lib/point/models/fillmage.js +7 -23
  115. package/lib/point/models/fillmage.js.map +1 -1
  116. package/lib/point/models/icon-font.js +1 -1
  117. package/lib/point/models/image.js +4 -5
  118. package/lib/point/models/image.js.map +1 -1
  119. package/lib/point/models/normal.js +1 -3
  120. package/lib/point/models/normal.js.map +1 -1
  121. package/lib/point/models/radar.js +5 -19
  122. package/lib/point/models/radar.js.map +1 -1
  123. package/lib/point/models/simplePoint.js +5 -7
  124. package/lib/point/models/simplePoint.js.map +1 -1
  125. package/lib/point/models/text.js +4 -5
  126. package/lib/point/models/text.js.map +1 -1
  127. package/lib/polygon/models/extrude.js +2 -4
  128. package/lib/polygon/models/extrude.js.map +1 -1
  129. package/lib/polygon/models/fill.js +37 -13
  130. package/lib/polygon/models/fill.js.map +1 -1
  131. package/lib/polygon/models/ocean.js +3 -5
  132. package/lib/polygon/models/ocean.js.map +1 -1
  133. package/lib/polygon/models/water.js +3 -5
  134. package/lib/polygon/models/water.js.map +1 -1
  135. package/lib/raster/index.js +16 -6
  136. package/lib/raster/index.js.map +1 -1
  137. package/lib/raster/models/index.js +4 -1
  138. package/lib/raster/models/index.js.map +1 -1
  139. package/lib/raster/models/raste-tile.js +294 -0
  140. package/lib/raster/models/raste-tile.js.map +1 -0
  141. package/lib/raster/models/raster.js +2 -0
  142. package/lib/raster/models/raster.js.map +1 -1
  143. package/lib/wind/index.js.map +1 -1
  144. package/lib/wind/models/utils.js +6 -5
  145. package/lib/wind/models/utils.js.map +1 -1
  146. package/lib/wind/models/wind.js.map +1 -1
  147. package/lib/wind/models/windRender.js.map +1 -1
  148. package/package.json +5 -6
  149. package/es/imagetile/index.d.ts +0 -22
  150. package/es/imagetile/index.js +0 -82
  151. package/es/imagetile/index.js.map +0 -1
  152. package/es/imagetile/models/imagetile.d.ts +0 -12
  153. package/es/imagetile/models/imagetile.js +0 -133
  154. package/es/imagetile/models/imagetile.js.map +0 -1
  155. package/es/imagetile/models/index.d.ts +0 -5
  156. package/es/imagetile/models/index.js +0 -6
  157. package/es/imagetile/models/index.js.map +0 -1
  158. package/es/imagetile/utils/ImageTile.d.ts +0 -20
  159. package/es/imagetile/utils/ImageTile.js +0 -92
  160. package/es/imagetile/utils/ImageTile.js.map +0 -1
  161. package/es/imagetile/utils/Tile.d.ts +0 -27
  162. package/es/imagetile/utils/Tile.js +0 -313
  163. package/es/imagetile/utils/Tile.js.map +0 -1
  164. package/es/imagetile/utils/lruCache.d.ts +0 -20
  165. package/es/imagetile/utils/lruCache.js +0 -105
  166. package/es/imagetile/utils/lruCache.js.map +0 -1
  167. package/es/imagetile/utils/tileCache.d.ts +0 -8
  168. package/es/imagetile/utils/tileCache.js +0 -50
  169. package/es/imagetile/utils/tileCache.js.map +0 -1
  170. package/lib/imagetile/index.js +0 -95
  171. package/lib/imagetile/index.js.map +0 -1
  172. package/lib/imagetile/models/imagetile.js +0 -146
  173. package/lib/imagetile/models/imagetile.js.map +0 -1
  174. package/lib/imagetile/models/index.js +0 -17
  175. package/lib/imagetile/models/index.js.map +0 -1
  176. package/lib/imagetile/utils/ImageTile.js +0 -101
  177. package/lib/imagetile/utils/ImageTile.js.map +0 -1
  178. package/lib/imagetile/utils/Tile.js +0 -316
  179. package/lib/imagetile/utils/Tile.js.map +0 -1
  180. package/lib/imagetile/utils/lruCache.js +0 -109
  181. package/lib/imagetile/utils/lruCache.js.map +0 -1
  182. package/lib/imagetile/utils/tileCache.js +0 -58
  183. package/lib/imagetile/utils/tileCache.js.map +0 -1
@@ -1,313 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
- import { Bounds, GeoCoordinates, Point, toLngLat } from '@antv/geo-coord';
6
- import { createLayerContainer } from '@antv/l7-core';
7
- import ImageTile from './ImageTile';
8
- import TileCache from './tileCache';
9
- var CacheLimit = 30;
10
-
11
- var Tile = function () {
12
- function Tile(props) {
13
- _classCallCheck(this, Tile);
14
-
15
- _defineProperty(this, "tileList", {});
16
-
17
- _defineProperty(this, "tileCache", void 0);
18
-
19
- _defineProperty(this, "updateTileList", void 0);
20
-
21
- _defineProperty(this, "tileZoom", void 0);
22
-
23
- _defineProperty(this, "noPruneRange", void 0);
24
-
25
- _defineProperty(this, "url", void 0);
26
-
27
- _defineProperty(this, "resolution", void 0);
28
-
29
- _defineProperty(this, "maxSourceZoom", void 0);
30
-
31
- _defineProperty(this, "crstype", void 0);
32
-
33
- _defineProperty(this, "currentCrs", void 0);
34
-
35
- _defineProperty(this, "layerService", void 0);
36
-
37
- _defineProperty(this, "layer", void 0);
38
-
39
- this.layerService = props.layerService;
40
- this.layer = props.layer;
41
- this.url = props.url;
42
- this.resolution = props.resolution === 'low' ? -1 : 0;
43
- this.maxSourceZoom = props.maxSourceZoom;
44
- this.crstype = props.crstype;
45
- this.currentCrs = new GeoCoordinates.default({
46
- start: {
47
- x: 0,
48
- y: 0
49
- },
50
- end: {
51
- x: 0,
52
- y: 0
53
- },
54
- projection: this.crstype
55
- }).crs;
56
- this.destroyTile = this.destroyTile.bind(this);
57
- this.tileCache = new TileCache(CacheLimit, this.destroyTile);
58
- this.updateTileList = [];
59
- this.removeTiles = this.removeTiles.bind(this);
60
- }
61
-
62
- _createClass(Tile, [{
63
- key: "calCurrentTiles",
64
- value: function calCurrentTiles(oprions) {
65
- var _this = this;
66
-
67
- var NE = oprions.NE,
68
- SW = oprions.SW,
69
- tileCenter = oprions.tileCenter,
70
- currentZoom = oprions.currentZoom,
71
- minSourceZoom = oprions.minSourceZoom,
72
- minZoom = oprions.minZoom,
73
- maxZoom = oprions.maxZoom;
74
-
75
- if (currentZoom >= this.maxSourceZoom) {
76
- return;
77
- }
78
-
79
- var zoom = Math.floor(currentZoom) + this.resolution;
80
- this.tileZoom = zoom > this.maxSourceZoom ? this.maxSourceZoom : zoom;
81
-
82
- if (currentZoom < minZoom || currentZoom >= maxZoom || currentZoom < minSourceZoom) {
83
- this.removeTiles();
84
- return;
85
- }
86
-
87
- this.updateTileList = [];
88
- var centerPoint = this.currentCrs.lngLatToPoint(toLngLat(tileCenter.lng, tileCenter.lat), this.tileZoom);
89
- var centerXY = centerPoint.divideBy(256).floor();
90
- var pixelBounds = this.getPixelBounds(NE, SW, tileCenter, this.tileZoom, this.currentCrs);
91
- var tileRange = this.pxBoundsToTileRange(pixelBounds);
92
- var margin = 4;
93
- this.noPruneRange = new Bounds(tileRange.getBottomLeft().subtract([margin, -margin]), tileRange.getTopRight().add([margin, -margin]));
94
-
95
- if (!(isFinite(tileRange.min.x) && isFinite(tileRange.min.y) && isFinite(tileRange.max.x) && isFinite(tileRange.max.y))) {
96
- throw new Error('Attempted to load an infinite number of tiles');
97
- }
98
-
99
- for (var j = tileRange.min.y; j <= tileRange.max.y; j++) {
100
- for (var i = tileRange.min.x; i <= tileRange.max.x; i++) {
101
- var coords = [i, j, this.tileZoom];
102
- var tile = this.tileList[coords.join('_')];
103
-
104
- if (tile) {
105
- tile.current = true;
106
- } else {
107
- this.tileList[coords.join('_')] = {
108
- current: true,
109
- coords: coords
110
- };
111
- this.updateTileList.push(coords);
112
- }
113
- }
114
- }
115
-
116
- this.updateTileList.sort(function (a, b) {
117
- var tile1 = a;
118
- var tile2 = b;
119
- var d1 = Math.pow(tile1[0] * 1 - centerXY.x, 2) + Math.pow(tile1[1] * 1 - centerXY.y, 2);
120
- var d2 = Math.pow(tile2[0] * 1 - centerXY.x, 2) + Math.pow(tile2[1] * 1 - centerXY.y, 2);
121
- return d1 - d2;
122
- });
123
- this.pruneTiles();
124
- this.updateTileList.forEach(function (coords) {
125
- var key = coords.join('_');
126
-
127
- if (_this.tileList[key].current) {
128
- _this.requestTile(key);
129
- }
130
- });
131
- }
132
- }, {
133
- key: "pxBoundsToTileRange",
134
- value: function pxBoundsToTileRange(pixelBounds) {
135
- return new Bounds(pixelBounds.min.divideBy(256).floor(), pixelBounds.max.divideBy(256).ceil().subtract([1, 1]));
136
- }
137
- }, {
138
- key: "getPixelBounds",
139
- value: function getPixelBounds(NE, SW, tileCenter, tileZoom, crs) {
140
- var zoom = tileZoom;
141
- var NEPoint = crs.lngLatToPoint(toLngLat(NE.lng, NE.lat), zoom);
142
- var SWPoint = crs.lngLatToPoint(toLngLat(SW.lng, SW.lat), zoom);
143
- var centerPoint = crs.lngLatToPoint(toLngLat(tileCenter.lng, tileCenter.lat), zoom);
144
- var topHeight = centerPoint.y - NEPoint.y;
145
- var bottomHeight = SWPoint.y - centerPoint.y;
146
- var leftWidth;
147
- var rightWidth;
148
-
149
- if (tileCenter.lng - NE.lng > 0 || tileCenter.lng - SW.lng < 0) {
150
- var width = Math.pow(2, zoom) * 256 / 360 * (180 - NE.lng) + Math.pow(2, zoom) * 256 / 360 * (SW.lng + 180);
151
-
152
- if (tileCenter.lng - NE.lng > 0) {
153
- leftWidth = Math.pow(2, zoom) * 256 / 360 * (tileCenter.lng - NE.lng);
154
- rightWidth = width - leftWidth;
155
- } else {
156
- rightWidth = Math.pow(2, zoom) * 256 / 360 * (SW.lng - tileCenter.lng);
157
- leftWidth = width - rightWidth;
158
- }
159
- } else {
160
- leftWidth = Math.pow(2, zoom) * 256 / 360 * (tileCenter.lng - SW.lng);
161
- rightWidth = Math.pow(2, zoom) * 256 / 360 * (NE.lng - tileCenter.lng);
162
- }
163
-
164
- var pixelBounds = new Bounds(centerPoint.subtract(leftWidth, topHeight), centerPoint.add(rightWidth, bottomHeight));
165
- return pixelBounds;
166
- }
167
- }, {
168
- key: "pruneTiles",
169
- value: function pruneTiles() {
170
- var _this2 = this;
171
-
172
- Object.keys(this.tileList).map(function (key) {
173
- var c = _this2.tileList[key].coords;
174
-
175
- if (c[2] !== _this2.tileZoom || !_this2.noPruneRange.contains(new Point(c[0], c[1]))) {
176
- _this2.tileList[key].current = false;
177
- }
178
- });
179
- Object.keys(this.tileList).map(function (key) {
180
- var tile = _this2.tileList[key];
181
- tile.retain = tile.current;
182
- });
183
- Object.keys(this.tileList).map(function (key) {
184
- var tile = _this2.tileList[key];
185
-
186
- if (tile.current && !tile.active) {
187
- var _key$split$map = key.split('_').map(function (v) {
188
- return Number(v);
189
- }),
190
- _key$split$map2 = _slicedToArray(_key$split$map, 3),
191
- x = _key$split$map2[0],
192
- y = _key$split$map2[1],
193
- z = _key$split$map2[2];
194
-
195
- if (!_this2.retainParent(x, y, z, z - 5)) {
196
- _this2.retainChildren(x, y, z, z + 2);
197
- }
198
- }
199
- });
200
- this.removeOutTiles();
201
- }
202
- }, {
203
- key: "requestTile",
204
- value: function requestTile(key) {
205
- var t = this.tileList[key];
206
-
207
- if (!t) {
208
- return;
209
- }
210
-
211
- var tile = this.tileCache.getTile(key);
212
-
213
- if (!tile) {
214
- var container = createLayerContainer(this.layer.sceneContainer);
215
- tile = new ImageTile(key, this.url, container, this.layer.sceneContainer);
216
- tile.name = key;
217
- t.current = true;
218
- t.retain = true;
219
- t.active = true;
220
- this.layer.addChild(tile.imageLayer);
221
- this.tileCache.setTile(tile, key);
222
- this.pruneTiles();
223
- this.layerService.updateLayerRenderList();
224
- this.layerService.renderLayers();
225
- } else {
226
- tile.imageLayer.show();
227
- t.current = true;
228
- t.retain = true;
229
- t.active = true;
230
- this.pruneTiles();
231
- }
232
- }
233
- }, {
234
- key: "retainParent",
235
- value: function retainParent(x, y, z, minZoom) {
236
- var x2 = Math.floor(x / 2);
237
- var y2 = Math.floor(y / 2);
238
- var z2 = z - 1;
239
- var tile = this.tileList[[x2, y2, z2].join('_')];
240
-
241
- if (tile && tile.active) {
242
- tile.retain = true;
243
- return true;
244
- } else if (tile && tile.loaded) {
245
- tile.retain = true;
246
- }
247
-
248
- if (z2 > minZoom) {
249
- return this.retainParent(x2, y2, z2, minZoom);
250
- }
251
-
252
- return false;
253
- }
254
- }, {
255
- key: "retainChildren",
256
- value: function retainChildren(x, y, z, maxZoom) {
257
- for (var i = 2 * x; i < 2 * x + 2; i++) {
258
- for (var j = 2 * y; j < 2 * y + 2; j++) {
259
- var key = [i, j, z + 1].join('_');
260
- var tile = this.tileList[key];
261
-
262
- if (tile && tile.active) {
263
- tile.retain = true;
264
- continue;
265
- } else if (tile && tile.loaded) {
266
- tile.retain = true;
267
- }
268
-
269
- if (z + 1 < maxZoom) {
270
- this.retainChildren(i, j, z + 1, maxZoom);
271
- }
272
- }
273
- }
274
- }
275
- }, {
276
- key: "destroyTile",
277
- value: function destroyTile(tile) {
278
- this.layer.removeChild(tile.imageLayer);
279
- this.layerService.updateLayerRenderList();
280
- this.layerService.renderLayers();
281
- tile = null;
282
- }
283
- }, {
284
- key: "removeOutTiles",
285
- value: function removeOutTiles() {
286
- for (var key in this.tileList) {
287
- if (!this.tileList[key].retain) {
288
- var tile = this.tileCache.getTile(key);
289
-
290
- if (tile) {
291
- tile.imageLayer.hide();
292
- }
293
-
294
- delete this.tileList[key];
295
- }
296
- }
297
- }
298
- }, {
299
- key: "removeTiles",
300
- value: function removeTiles() {
301
- this.layer.clearChild();
302
- this.layerService.updateLayerRenderList();
303
- this.layerService.renderLayers();
304
- this.tileList = {};
305
- this.tileCache.destory();
306
- }
307
- }]);
308
-
309
- return Tile;
310
- }();
311
-
312
- export { Tile as default };
313
- //# sourceMappingURL=Tile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/imagetile/utils/Tile.ts"],"names":["Bounds","GeoCoordinates","Point","toLngLat","createLayerContainer","ImageTile","TileCache","CacheLimit","Tile","props","layerService","layer","url","resolution","maxSourceZoom","crstype","currentCrs","default","start","x","y","end","projection","crs","destroyTile","bind","tileCache","updateTileList","removeTiles","oprions","NE","SW","tileCenter","currentZoom","minSourceZoom","minZoom","maxZoom","zoom","Math","floor","tileZoom","centerPoint","lngLatToPoint","lng","lat","centerXY","divideBy","pixelBounds","getPixelBounds","tileRange","pxBoundsToTileRange","margin","noPruneRange","getBottomLeft","subtract","getTopRight","add","isFinite","min","max","Error","j","i","coords","tile","tileList","join","current","push","sort","a","b","tile1","tile2","d1","pow","d2","pruneTiles","forEach","key","requestTile","ceil","NEPoint","SWPoint","topHeight","bottomHeight","leftWidth","rightWidth","width","Object","keys","map","c","contains","retain","active","split","v","Number","z","retainParent","retainChildren","removeOutTiles","t","getTile","container","sceneContainer","name","addChild","imageLayer","setTile","updateLayerRenderList","renderLayers","show","x2","y2","z2","loaded","removeChild","hide","clearChild","destory"],"mappings":"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","sourcesContent":["import { Bounds, GeoCoordinates, Point, toLngLat } from '@antv/geo-coord';\nimport {\n createLayerContainer,\n ILayer,\n ILayerGroup,\n ILayerService,\n ILngLat,\n} from '@antv/l7-core';\nimport { Container } from 'inversify';\n\nimport ImageTile from './ImageTile';\nimport TileCache from './tileCache';\n\n// Tip: 瓦片地图的存储上限\nconst CacheLimit = 30;\n\nexport default class Tile {\n public tileList: any = {};\n public tileCache: any;\n\n public updateTileList: any[];\n public tileZoom: number;\n public noPruneRange: any;\n public url: string;\n public resolution: number;\n public maxSourceZoom: number;\n public crstype: string;\n public currentCrs: any;\n\n public layerService: ILayerService;\n public layer: ILayerGroup;\n constructor(props: any) {\n this.layerService = props.layerService;\n this.layer = props.layer;\n this.url = props.url;\n this.resolution = props.resolution === 'low' ? -1 : 0;\n this.maxSourceZoom = props.maxSourceZoom;\n this.crstype = props.crstype;\n\n this.currentCrs = new GeoCoordinates.default({\n start: { x: 0, y: 0 },\n end: { x: 0, y: 0 },\n projection: this.crstype,\n }).crs as any;\n\n this.destroyTile = this.destroyTile.bind(this);\n this.tileCache = new TileCache(CacheLimit, this.destroyTile);\n\n this.updateTileList = [];\n\n this.removeTiles = this.removeTiles.bind(this);\n }\n\n public calCurrentTiles(oprions: any) {\n const {\n NE,\n SW,\n tileCenter,\n currentZoom,\n minSourceZoom,\n minZoom,\n maxZoom,\n } = oprions;\n // TODO: 当前瓦片的层级要比地图底图的层级低\n if (currentZoom >= this.maxSourceZoom) {\n return;\n }\n const zoom = Math.floor(currentZoom) + this.resolution;\n\n this.tileZoom = zoom > this.maxSourceZoom ? this.maxSourceZoom : zoom;\n\n if (\n currentZoom < minZoom ||\n currentZoom >= maxZoom ||\n currentZoom < minSourceZoom\n ) {\n this.removeTiles();\n return;\n }\n\n this.updateTileList = [];\n\n // 计算瓦片中心\n const centerPoint = this.currentCrs.lngLatToPoint(\n toLngLat(tileCenter.lng, tileCenter.lat),\n this.tileZoom,\n );\n const centerXY = centerPoint.divideBy(256).floor();\n\n const pixelBounds = this.getPixelBounds(\n NE,\n SW,\n tileCenter,\n this.tileZoom,\n this.currentCrs,\n ); // 计算像素范围\n const tileRange = this.pxBoundsToTileRange(pixelBounds); // 计算瓦片范围\n\n const margin = 4;\n\n this.noPruneRange = new Bounds(\n tileRange.getBottomLeft().subtract([margin, -margin]),\n tileRange.getTopRight().add([margin, -margin]),\n );\n\n // T: isFinite(n: number) 用于检测 n 是否无穷大\n if (\n !(\n isFinite(tileRange.min.x) &&\n isFinite(tileRange.min.y) &&\n isFinite(tileRange.max.x) &&\n isFinite(tileRange.max.y)\n )\n ) {\n throw new Error('Attempted to load an infinite number of tiles');\n }\n\n // 根据视野判断新增的瓦片索引\n for (let j = tileRange.min.y; j <= tileRange.max.y; j++) {\n for (let i = tileRange.min.x; i <= tileRange.max.x; i++) {\n const coords = [i, j, this.tileZoom];\n const tile = this.tileList[coords.join('_')];\n if (tile) {\n tile.current = true;\n } else {\n this.tileList[coords.join('_')] = {\n current: true,\n coords,\n };\n this.updateTileList.push(coords);\n }\n }\n }\n\n // 瓦片列表排序\n this.updateTileList.sort((a: any, b: any) => {\n const tile1 = a;\n const tile2 = b;\n const d1 =\n Math.pow(tile1[0] * 1 - centerXY.x, 2) +\n Math.pow(tile1[1] * 1 - centerXY.y, 2);\n const d2 =\n Math.pow(tile2[0] * 1 - centerXY.x, 2) +\n Math.pow(tile2[1] * 1 - centerXY.y, 2);\n return d1 - d2;\n });\n\n this.pruneTiles();\n this.updateTileList.forEach((coords: any) => {\n const key = coords.join('_');\n if (this.tileList[key].current) {\n this.requestTile(key);\n }\n });\n }\n\n public pxBoundsToTileRange(pixelBounds: any) {\n return new Bounds(\n pixelBounds.min.divideBy(256).floor(),\n pixelBounds.max\n .divideBy(256)\n .ceil()\n .subtract([1, 1]),\n );\n }\n\n public getPixelBounds(\n NE: ILngLat,\n SW: ILngLat,\n tileCenter: ILngLat,\n tileZoom: number,\n crs: any,\n ) {\n const zoom = tileZoom;\n const NEPoint = crs.lngLatToPoint(toLngLat(NE.lng, NE.lat), zoom);\n const SWPoint = crs.lngLatToPoint(toLngLat(SW.lng, SW.lat), zoom);\n const centerPoint = crs.lngLatToPoint(\n toLngLat(tileCenter.lng, tileCenter.lat),\n zoom,\n );\n const topHeight = centerPoint.y - NEPoint.y;\n const bottomHeight = SWPoint.y - centerPoint.y;\n // 跨日界线的情况\n let leftWidth;\n let rightWidth;\n if (tileCenter.lng - NE.lng > 0 || tileCenter.lng - SW.lng < 0) {\n const width =\n ((Math.pow(2, zoom) * 256) / 360) * (180 - NE.lng) +\n ((Math.pow(2, zoom) * 256) / 360) * (SW.lng + 180);\n if (tileCenter.lng - NE.lng > 0) {\n // 日界线在右侧\n leftWidth =\n ((Math.pow(2, zoom) * 256) / 360) * (tileCenter.lng - NE.lng);\n rightWidth = width - leftWidth;\n } else {\n rightWidth =\n ((Math.pow(2, zoom) * 256) / 360) * (SW.lng - tileCenter.lng);\n leftWidth = width - rightWidth;\n }\n } else {\n // 不跨日界线\n leftWidth = ((Math.pow(2, zoom) * 256) / 360) * (tileCenter.lng - SW.lng);\n rightWidth =\n ((Math.pow(2, zoom) * 256) / 360) * (NE.lng - tileCenter.lng);\n }\n const pixelBounds = new Bounds(\n centerPoint.subtract(leftWidth, topHeight),\n centerPoint.add(rightWidth, bottomHeight),\n );\n return pixelBounds;\n }\n\n public pruneTiles() {\n Object.keys(this.tileList).map((key) => {\n const c = this.tileList[key].coords;\n // 如果不是同一个缩放层级,则将瓦片设为不显示\n if (\n c[2] !== this.tileZoom ||\n !this.noPruneRange.contains(new Point(c[0], c[1]))\n ) {\n this.tileList[key].current = false;\n }\n });\n\n Object.keys(this.tileList).map((key) => {\n const tile = this.tileList[key];\n tile.retain = tile.current;\n });\n\n Object.keys(this.tileList).map((key) => {\n const tile = this.tileList[key];\n if (tile.current && !tile.active) {\n const [x, y, z] = key.split('_').map((v) => Number(v));\n\n if (!this.retainParent(x, y, z, z - 5)) {\n this.retainChildren(x, y, z, z + 2);\n }\n }\n });\n\n this.removeOutTiles();\n }\n\n public requestTile(key: string) {\n const t = this.tileList[key];\n if (!t) {\n return;\n }\n let tile = this.tileCache.getTile(key);\n if (!tile) {\n const container = createLayerContainer(\n this.layer.sceneContainer as Container,\n );\n tile = new ImageTile(\n key,\n this.url,\n container,\n this.layer.sceneContainer as Container,\n );\n tile.name = key;\n\n t.current = true;\n t.retain = true;\n t.active = true;\n\n // 往 imageTileLayer 中添加子图层\n this.layer.addChild(tile.imageLayer);\n\n this.tileCache.setTile(tile, key);\n\n this.pruneTiles();\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n } else {\n // Tip: show 方法就是将相应的瓦片图片添加到渲染队列\n tile.imageLayer.show();\n t.current = true;\n t.retain = true;\n t.active = true;\n\n this.pruneTiles();\n }\n }\n\n public retainParent(x: number, y: number, z: number, minZoom: number): any {\n const x2 = Math.floor(x / 2);\n const y2 = Math.floor(y / 2);\n const z2 = z - 1;\n const tile = this.tileList[[x2, y2, z2].join('_')];\n if (tile && tile.active) {\n tile.retain = true;\n return true;\n } else if (tile && tile.loaded) {\n tile.retain = true;\n }\n if (z2 > minZoom) {\n return this.retainParent(x2, y2, z2, minZoom);\n }\n return false;\n }\n\n public retainChildren(x: number, y: number, z: number, maxZoom: number) {\n for (let i = 2 * x; i < 2 * x + 2; i++) {\n for (let j = 2 * y; j < 2 * y + 2; j++) {\n const key = [i, j, z + 1].join('_');\n const tile = this.tileList[key];\n if (tile && tile.active) {\n tile.retain = true;\n continue;\n } else if (tile && tile.loaded) {\n tile.retain = true;\n }\n\n if (z + 1 < maxZoom) {\n this.retainChildren(i, j, z + 1, maxZoom);\n }\n }\n }\n }\n\n public destroyTile(tile: any) {\n this.layer.removeChild(tile.imageLayer);\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n\n // 清除 tileCache 中的存储 相当于 tileCache.setTile(tile, null)\n tile = null;\n }\n\n public removeOutTiles() {\n for (const key in this.tileList) {\n if (!this.tileList[key].retain) {\n // Tip: 不需要显示的瓦片对象\n const tile = this.tileCache.getTile(key);\n // Tip: 若是网格对象存在\n if (tile) {\n // Tip: hide 方法就是将相应的瓦片图片从渲染队列中剔除\n tile.imageLayer.hide();\n }\n delete this.tileList[key];\n }\n }\n }\n\n public removeTiles() {\n this.layer.clearChild();\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n this.tileList = {};\n this.tileCache.destory();\n }\n}\n"],"file":"Tile.js"}
@@ -1,20 +0,0 @@
1
- /**
2
- * LRU Cache class with limit
3
- *
4
- * Update order for each get/set operation
5
- * Delete oldest when reach given limit
6
- */
7
- export default class LRUCache {
8
- limit: number;
9
- order: any[];
10
- cache: any;
11
- destroy: any;
12
- constructor(limit?: number, destroy?: () => string);
13
- clear(): void;
14
- get(key: string): any;
15
- set(key: string, value: any): void;
16
- delete(key: string): void;
17
- deleteCache(key: string): void;
18
- deleteOrder(key: string): void;
19
- appendOrder(key: string): void;
20
- }
@@ -1,105 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
-
5
- var LRUCache = function () {
6
- function LRUCache() {
7
- var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50;
8
- var destroy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {
9
- return '';
10
- };
11
-
12
- _classCallCheck(this, LRUCache);
13
-
14
- _defineProperty(this, "limit", void 0);
15
-
16
- _defineProperty(this, "order", void 0);
17
-
18
- _defineProperty(this, "cache", void 0);
19
-
20
- _defineProperty(this, "destroy", void 0);
21
-
22
- this.limit = limit;
23
- this.destroy = destroy;
24
- this.order = [];
25
- this.clear();
26
- }
27
-
28
- _createClass(LRUCache, [{
29
- key: "clear",
30
- value: function clear() {
31
- var _this = this;
32
-
33
- this.order.forEach(function (key) {
34
- _this.delete(key);
35
- });
36
- this.cache = {};
37
- this.order = [];
38
- }
39
- }, {
40
- key: "get",
41
- value: function get(key) {
42
- var value = this.cache[key];
43
-
44
- if (value) {
45
- this.deleteOrder(key);
46
- this.appendOrder(key);
47
- }
48
-
49
- return value;
50
- }
51
- }, {
52
- key: "set",
53
- value: function set(key, value) {
54
- if (!this.cache[key]) {
55
- if (Object.keys(this.cache).length === this.limit) {
56
- this.delete(this.order[0]);
57
- }
58
-
59
- this.cache[key] = value;
60
- this.appendOrder(key);
61
- } else {
62
- this.delete(key);
63
- this.cache[key] = value;
64
- this.appendOrder(key);
65
- }
66
- }
67
- }, {
68
- key: "delete",
69
- value: function _delete(key) {
70
- var value = this.cache[key];
71
-
72
- if (value) {
73
- this.deleteCache(key);
74
- this.deleteOrder(key);
75
- this.destroy(value, key);
76
- }
77
- }
78
- }, {
79
- key: "deleteCache",
80
- value: function deleteCache(key) {
81
- delete this.cache[key];
82
- }
83
- }, {
84
- key: "deleteOrder",
85
- value: function deleteOrder(key) {
86
- var index = this.order.findIndex(function (o) {
87
- return o === key;
88
- });
89
-
90
- if (index >= 0) {
91
- this.order.splice(index, 1);
92
- }
93
- }
94
- }, {
95
- key: "appendOrder",
96
- value: function appendOrder(key) {
97
- this.order.push(key);
98
- }
99
- }]);
100
-
101
- return LRUCache;
102
- }();
103
-
104
- export { LRUCache as default };
105
- //# sourceMappingURL=lruCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/imagetile/utils/lruCache.ts"],"names":["LRUCache","limit","destroy","order","clear","forEach","key","delete","cache","value","deleteOrder","appendOrder","Object","keys","length","deleteCache","index","findIndex","o","splice","push"],"mappings":";;;;IAOqBA,Q;AAKnB,sBAA4C;AAAA,QAAhCC,KAAgC,uEAAxB,EAAwB;AAAA,QAApBC,OAAoB,uEAAV;AAAA,aAAM,EAAN;AAAA,KAAU;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAC1C,SAAKD,KAAL,GAAaA,KAAb;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,KAAL,GAAa,EAAb;AACA,SAAKC,KAAL;AACD;;;;WAED,iBAAe;AAAA;;AACb,WAAKD,KAAL,CAAWE,OAAX,CAAmB,UAACC,GAAD,EAAc;AAC/B,QAAA,KAAI,CAACC,MAAL,CAAYD,GAAZ;AACD,OAFD;AAGA,WAAKE,KAAL,GAAa,EAAb;AAEA,WAAKL,KAAL,GAAa,EAAb;AACD;;;WAED,aAAWG,GAAX,EAAwB;AACtB,UAAMG,KAAK,GAAG,KAAKD,KAAL,CAAWF,GAAX,CAAd;;AACA,UAAIG,KAAJ,EAAW;AAET,aAAKC,WAAL,CAAiBJ,GAAjB;AACA,aAAKK,WAAL,CAAiBL,GAAjB;AACD;;AACD,aAAOG,KAAP;AACD;;;WAED,aAAWH,GAAX,EAAwBG,KAAxB,EAAoC;AAClC,UAAI,CAAC,KAAKD,KAAL,CAAWF,GAAX,CAAL,EAAsB;AAEpB,YAAIM,MAAM,CAACC,IAAP,CAAY,KAAKL,KAAjB,EAAwBM,MAAxB,KAAmC,KAAKb,KAA5C,EAAmD;AACjD,eAAKM,MAAL,CAAY,KAAKJ,KAAL,CAAW,CAAX,CAAZ;AACD;;AAED,aAAKK,KAAL,CAAWF,GAAX,IAAkBG,KAAlB;AACA,aAAKE,WAAL,CAAiBL,GAAjB;AACD,OARD,MAQO;AAEL,aAAKC,MAAL,CAAYD,GAAZ;AAEA,aAAKE,KAAL,CAAWF,GAAX,IAAkBG,KAAlB;AACA,aAAKE,WAAL,CAAiBL,GAAjB;AACD;AACF;;;WAED,iBAAcA,GAAd,EAA2B;AACzB,UAAMG,KAAK,GAAG,KAAKD,KAAL,CAAWF,GAAX,CAAd;;AACA,UAAIG,KAAJ,EAAW;AACT,aAAKM,WAAL,CAAiBT,GAAjB;AACA,aAAKI,WAAL,CAAiBJ,GAAjB;AACA,aAAKJ,OAAL,CAAaO,KAAb,EAAoBH,GAApB;AACD;AACF;;;WAED,qBAAmBA,GAAnB,EAAgC;AAC9B,aAAO,KAAKE,KAAL,CAAWF,GAAX,CAAP;AACD;;;WAED,qBAAmBA,GAAnB,EAAgC;AAC9B,UAAMU,KAAK,GAAG,KAAKb,KAAL,CAAWc,SAAX,CAAqB,UAACC,CAAD;AAAA,eAAOA,CAAC,KAAKZ,GAAb;AAAA,OAArB,CAAd;;AACA,UAAIU,KAAK,IAAI,CAAb,EAAgB;AACd,aAAKb,KAAL,CAAWgB,MAAX,CAAkBH,KAAlB,EAAyB,CAAzB;AACD;AACF;;;WAED,qBAAmBV,GAAnB,EAAgC;AAC9B,WAAKH,KAAL,CAAWiB,IAAX,CAAgBd,GAAhB;AACD;;;;;;SAvEkBN,Q","sourcesContent":["/**\n * LRU Cache class with limit\n *\n * Update order for each get/set operation\n * Delete oldest when reach given limit\n */\n\nexport default class LRUCache {\n public limit: number;\n public order: any[];\n public cache: any;\n public destroy: any;\n constructor(limit = 50, destroy = () => '') {\n this.limit = limit;\n this.destroy = destroy;\n this.order = [];\n this.clear();\n }\n\n public clear() {\n this.order.forEach((key: any) => {\n this.delete(key);\n });\n this.cache = {};\n // access/update order, first item is oldest, last item is newest\n this.order = [];\n }\n\n public get(key: string) {\n const value = this.cache[key];\n if (value) {\n // update order\n this.deleteOrder(key);\n this.appendOrder(key);\n }\n return value;\n }\n\n public set(key: string, value: any) {\n if (!this.cache[key]) {\n // if reach limit, delete the oldest\n if (Object.keys(this.cache).length === this.limit) {\n this.delete(this.order[0]);\n }\n\n this.cache[key] = value;\n this.appendOrder(key);\n } else {\n // if found in cache, delete the old one, insert new one to the first of list\n this.delete(key);\n\n this.cache[key] = value;\n this.appendOrder(key);\n }\n }\n\n public delete(key: string) {\n const value = this.cache[key];\n if (value) {\n this.deleteCache(key);\n this.deleteOrder(key);\n this.destroy(value, key);\n }\n }\n\n public deleteCache(key: string) {\n delete this.cache[key];\n }\n\n public deleteOrder(key: string) {\n const index = this.order.findIndex((o) => o === key);\n if (index >= 0) {\n this.order.splice(index, 1);\n }\n }\n\n public appendOrder(key: string) {\n this.order.push(key);\n }\n}\n"],"file":"lruCache.js"}
@@ -1,8 +0,0 @@
1
- export default class TileCache {
2
- cache: any;
3
- constructor(limit: number | undefined, tileDestroy: any);
4
- getTile(key: string): any;
5
- setTile(tile: any, key: string): void;
6
- destory(): void;
7
- setNeedUpdate(): void;
8
- }
@@ -1,50 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
- import LRUCache from './lruCache';
5
-
6
- var TileCache = function () {
7
- function TileCache() {
8
- var limit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50;
9
- var tileDestroy = arguments.length > 1 ? arguments[1] : undefined;
10
-
11
- _classCallCheck(this, TileCache);
12
-
13
- _defineProperty(this, "cache", void 0);
14
-
15
- this.cache = new LRUCache(limit, tileDestroy);
16
- }
17
-
18
- _createClass(TileCache, [{
19
- key: "getTile",
20
- value: function getTile(key) {
21
- return this.cache.get(key);
22
- }
23
- }, {
24
- key: "setTile",
25
- value: function setTile(tile, key) {
26
- this.cache.set(key, tile);
27
- }
28
- }, {
29
- key: "destory",
30
- value: function destory() {
31
- this.cache.clear();
32
- }
33
- }, {
34
- key: "setNeedUpdate",
35
- value: function setNeedUpdate() {
36
- var _this = this;
37
-
38
- this.cache.order.forEach(function (key) {
39
- var tile = _this.cache.get(key);
40
-
41
- tile.needUpdate = true;
42
- });
43
- }
44
- }]);
45
-
46
- return TileCache;
47
- }();
48
-
49
- export { TileCache as default };
50
- //# sourceMappingURL=tileCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/imagetile/utils/tileCache.ts"],"names":["LRUCache","TileCache","limit","tileDestroy","cache","key","get","tile","set","clear","order","forEach","needUpdate"],"mappings":";;;AAAA,OAAOA,QAAP,MAAqB,YAArB;;IACqBC,S;AAEnB,uBAA0C;AAAA,QAA9BC,KAA8B,uEAAtB,EAAsB;AAAA,QAAlBC,WAAkB;;AAAA;;AAAA;;AACxC,SAAKC,KAAL,GAAa,IAAIJ,QAAJ,CAAaE,KAAb,EAAoBC,WAApB,CAAb;AACD;;;;WAED,iBAAeE,GAAf,EAA4B;AAC1B,aAAO,KAAKD,KAAL,CAAWE,GAAX,CAAeD,GAAf,CAAP;AACD;;;WAED,iBAAeE,IAAf,EAA0BF,GAA1B,EAAuC;AACrC,WAAKD,KAAL,CAAWI,GAAX,CAAeH,GAAf,EAAoBE,IAApB;AACD;;;WACD,mBAAiB;AACf,WAAKH,KAAL,CAAWK,KAAX;AACD;;;WACD,yBAAuB;AAAA;;AACrB,WAAKL,KAAL,CAAWM,KAAX,CAAiBC,OAAjB,CAAyB,UAACN,GAAD,EAAiB;AACxC,YAAME,IAAI,GAAG,KAAI,CAACH,KAAL,CAAWE,GAAX,CAAeD,GAAf,CAAb;;AACAE,QAAAA,IAAI,CAACK,UAAL,GAAkB,IAAlB;AACD,OAHD;AAID;;;;;;SArBkBX,S","sourcesContent":["import LRUCache from './lruCache';\nexport default class TileCache {\n public cache: any;\n constructor(limit = 50, tileDestroy: any) {\n this.cache = new LRUCache(limit, tileDestroy);\n }\n\n public getTile(key: string) {\n return this.cache.get(key);\n }\n\n public setTile(tile: any, key: string) {\n this.cache.set(key, tile);\n }\n public destory() {\n this.cache.clear();\n }\n public setNeedUpdate() {\n this.cache.order.forEach((key: string) => {\n const tile = this.cache.get(key);\n tile.needUpdate = true;\n });\n }\n}\n"],"file":"tileCache.js"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _LayerGroup2 = _interopRequireDefault(require("../core/LayerGroup"));
25
-
26
- var _index = _interopRequireDefault(require("./models/index"));
27
-
28
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
-
30
- 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; } }
31
-
32
- var ImageTileLayer = function (_LayerGroup) {
33
- (0, _inherits2.default)(ImageTileLayer, _LayerGroup);
34
-
35
- var _super = _createSuper(ImageTileLayer);
36
-
37
- function ImageTileLayer() {
38
- var _this;
39
-
40
- (0, _classCallCheck2.default)(this, ImageTileLayer);
41
-
42
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
- args[_key] = arguments[_key];
44
- }
45
-
46
- _this = _super.call.apply(_super, [this].concat(args));
47
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'ImageTileLayer');
48
- return _this;
49
- }
50
-
51
- (0, _createClass2.default)(ImageTileLayer, [{
52
- key: "buildModels",
53
- value: function buildModels() {
54
- var modelType = this.getModelType();
55
- this.layerModel = new _index.default[modelType](this);
56
- this.models = this.layerModel.initModels();
57
- }
58
- }, {
59
- key: "rebuildModels",
60
- value: function rebuildModels() {
61
- this.models = this.layerModel.buildModels();
62
- }
63
- }, {
64
- key: "getConfigSchema",
65
- value: function getConfigSchema() {
66
- return {
67
- properties: {
68
- opacity: {
69
- type: 'number',
70
- minimum: 0,
71
- maximum: 1
72
- }
73
- }
74
- };
75
- }
76
- }, {
77
- key: "getDefaultConfig",
78
- value: function getDefaultConfig() {
79
- var type = this.getModelType();
80
- var defaultConfig = {
81
- imageTile: {}
82
- };
83
- return defaultConfig[type];
84
- }
85
- }, {
86
- key: "getModelType",
87
- value: function getModelType() {
88
- return 'imageTile';
89
- }
90
- }]);
91
- return ImageTileLayer;
92
- }(_LayerGroup2.default);
93
-
94
- exports.default = ImageTileLayer;
95
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/imagetile/index.ts"],"names":["ImageTileLayer","modelType","getModelType","layerModel","ImageTileModels","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","imageTile","LayerGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAIqBA,c;;;;;;;;;;;;;;;uFAGG,gB;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIC,eAAgBH,SAAhB,CAAJ,CAA+B,IAA/B,CAAlB;AACA,WAAKI,MAAL,GAAc,KAAKF,UAAL,CAAgBG,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKF,UAAL,CAAgBI,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKR,YAAL,EAAb;AACA,UAAMW,aAAa,GAAG;AACpBC,QAAAA,SAAS,EAAE;AADS,OAAtB;AAGA,aAAOD,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA6C;AAC3C,aAAO,WAAP;AACD;;;EAjCyCK,oB","sourcesContent":["import LayerGroup from '../core/LayerGroup';\nimport ImageTileModels, { ImageTileModelType } from './models/index';\ninterface IImageLayerStyleOptions {\n opacity: number;\n}\nexport default class ImageTileLayer extends LayerGroup<\n IImageLayerStyleOptions\n> {\n public type: string = 'ImageTileLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new ImageTileModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n imageTile: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): ImageTileModelType {\n return 'imageTile';\n }\n}\n"],"file":"index.js"}