ol 6.1.1-dev.1581430188339 → 6.1.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.
Files changed (229) hide show
  1. package/ImageTile.js +13 -0
  2. package/ImageTile.js.map +1 -1
  3. package/MapBrowserEventHandler.js +2 -28
  4. package/MapBrowserEventHandler.js.map +1 -1
  5. package/PluggableMap.js +37 -30
  6. package/PluggableMap.js.map +1 -1
  7. package/Tile.js +3 -2
  8. package/Tile.js.map +1 -1
  9. package/TileCache.js +7 -4
  10. package/TileCache.js.map +1 -1
  11. package/TileQueue.js +12 -2
  12. package/TileQueue.js.map +1 -1
  13. package/TileState.js +2 -1
  14. package/TileState.js.map +1 -1
  15. package/VectorRenderTile.js +43 -23
  16. package/VectorRenderTile.js.map +1 -1
  17. package/VectorTile.js +5 -3
  18. package/VectorTile.js.map +1 -1
  19. package/View.js +39 -73
  20. package/View.js.map +1 -1
  21. package/control/Attribution.js +1 -0
  22. package/control/Attribution.js.map +1 -1
  23. package/control/Control.js +1 -11
  24. package/control/Control.js.map +1 -1
  25. package/control/MousePosition.js +5 -4
  26. package/control/MousePosition.js.map +1 -1
  27. package/control/OverviewMap.js +1 -2
  28. package/control/OverviewMap.js.map +1 -1
  29. package/control/Rotate.js +3 -3
  30. package/control/Rotate.js.map +1 -1
  31. package/control/ScaleLine.js +1 -0
  32. package/control/ScaleLine.js.map +1 -1
  33. package/control/ZoomSlider.js +6 -4
  34. package/control/ZoomSlider.js.map +1 -1
  35. package/dom.js +2 -4
  36. package/dom.js.map +1 -1
  37. package/events/EventType.js +0 -1
  38. package/events/EventType.js.map +1 -1
  39. package/events/condition.js +5 -3
  40. package/events/condition.js.map +1 -1
  41. package/format/GeoJSON.js +0 -3
  42. package/format/GeoJSON.js.map +1 -1
  43. package/format/KML.js +43 -129
  44. package/format/KML.js.map +1 -1
  45. package/format/WMTSCapabilities.js +1 -4
  46. package/format/WMTSCapabilities.js.map +1 -1
  47. package/format/XMLFeature.js +2 -2
  48. package/format/XMLFeature.js.map +1 -1
  49. package/format/xsd.js +6 -6
  50. package/format/xsd.js.map +1 -1
  51. package/has.js +0 -19
  52. package/has.js.map +1 -1
  53. package/interaction/DragBox.js +16 -4
  54. package/interaction/DragBox.js.map +1 -1
  55. package/interaction/DragPan.js +2 -15
  56. package/interaction/DragPan.js.map +1 -1
  57. package/interaction/Draw.js +36 -89
  58. package/interaction/Draw.js.map +1 -1
  59. package/interaction/Modify.js +4 -5
  60. package/interaction/Modify.js.map +1 -1
  61. package/interaction/MouseWheelZoom.js +64 -29
  62. package/interaction/MouseWheelZoom.js.map +1 -1
  63. package/interaction/Pointer.js +3 -9
  64. package/interaction/Pointer.js.map +1 -1
  65. package/layer/Graticule.js +8 -21
  66. package/layer/Graticule.js.map +1 -1
  67. package/layer/Heatmap.js +1 -3
  68. package/layer/Heatmap.js.map +1 -1
  69. package/layer/Layer.js +1 -8
  70. package/layer/Layer.js.map +1 -1
  71. package/layer/VectorTile.js +2 -5
  72. package/layer/VectorTile.js.map +1 -1
  73. package/layer/VectorTileRenderType.js +1 -6
  74. package/layer/VectorTileRenderType.js.map +1 -1
  75. package/layer/WebGLPoints.js +1 -1
  76. package/ol.css +0 -9
  77. package/package.json +2 -2
  78. package/render/canvas/Executor.js +117 -122
  79. package/render/canvas/Executor.js.map +1 -1
  80. package/render/canvas/ExecutorGroup.js +45 -11
  81. package/render/canvas/ExecutorGroup.js.map +1 -1
  82. package/render/canvas/LabelCache.js +77 -0
  83. package/render/canvas/LabelCache.js.map +1 -0
  84. package/render/canvas/TextBuilder.js +4 -3
  85. package/render/canvas/TextBuilder.js.map +1 -1
  86. package/render/canvas/hitdetect.js +6 -9
  87. package/render/canvas/hitdetect.js.map +1 -1
  88. package/render/canvas.js +48 -41
  89. package/render/canvas.js.map +1 -1
  90. package/renderer/Composite.js +4 -5
  91. package/renderer/Composite.js.map +1 -1
  92. package/renderer/canvas/TileLayer.js +21 -0
  93. package/renderer/canvas/TileLayer.js.map +1 -1
  94. package/renderer/canvas/VectorImageLayer.js +0 -1
  95. package/renderer/canvas/VectorImageLayer.js.map +1 -1
  96. package/renderer/canvas/VectorLayer.js +43 -38
  97. package/renderer/canvas/VectorLayer.js.map +1 -1
  98. package/renderer/canvas/VectorTileLayer.js +32 -24
  99. package/renderer/canvas/VectorTileLayer.js.map +1 -1
  100. package/renderer/webgl/PointsLayer.js +6 -0
  101. package/renderer/webgl/PointsLayer.js.map +1 -1
  102. package/reproj/Tile.js +9 -0
  103. package/reproj/Tile.js.map +1 -1
  104. package/resolutionconstraint.js +8 -15
  105. package/resolutionconstraint.js.map +1 -1
  106. package/source/IIIF.js +2 -5
  107. package/source/IIIF.js.map +1 -1
  108. package/source/Tile.js +3 -0
  109. package/source/Tile.js.map +1 -1
  110. package/source/UTFGrid.js +5 -9
  111. package/source/UTFGrid.js.map +1 -1
  112. package/source/UrlTile.js +1 -1
  113. package/source/UrlTile.js.map +1 -1
  114. package/source/Vector.js +3 -0
  115. package/source/Vector.js.map +1 -1
  116. package/source/VectorTile.js +61 -79
  117. package/source/VectorTile.js.map +1 -1
  118. package/source/WMTS.js +1 -1
  119. package/source/Zoomify.js +20 -12
  120. package/source/Zoomify.js.map +1 -1
  121. package/sphere.js +6 -0
  122. package/sphere.js.map +1 -1
  123. package/src/ImageTile.js +14 -0
  124. package/src/MapBrowserEventHandler.js +2 -33
  125. package/src/PluggableMap.js +40 -34
  126. package/src/Tile.js +3 -2
  127. package/src/TileCache.js +11 -2
  128. package/src/TileQueue.js +11 -2
  129. package/src/TileState.js +2 -1
  130. package/src/VectorRenderTile.js +47 -25
  131. package/src/VectorTile.js +6 -3
  132. package/src/View.js +39 -78
  133. package/src/control/Attribution.js +1 -0
  134. package/src/control/Control.js +1 -12
  135. package/src/control/MousePosition.js +2 -2
  136. package/src/control/OverviewMap.js +1 -2
  137. package/src/control/Rotate.js +3 -3
  138. package/src/control/ScaleLine.js +1 -0
  139. package/src/control/ZoomSlider.js +3 -2
  140. package/src/dom.js +2 -4
  141. package/src/events/EventType.js +0 -1
  142. package/src/events/condition.js +6 -3
  143. package/src/format/GeoJSON.js +0 -2
  144. package/src/format/KML.js +45 -133
  145. package/src/format/WMTSCapabilities.js +1 -4
  146. package/src/format/XMLFeature.js +2 -2
  147. package/src/format/xsd.js +6 -6
  148. package/src/has.js +0 -20
  149. package/src/interaction/DragBox.js +19 -4
  150. package/src/interaction/DragPan.js +2 -17
  151. package/src/interaction/Draw.js +36 -92
  152. package/src/interaction/Modify.js +4 -5
  153. package/src/interaction/MouseWheelZoom.js +74 -31
  154. package/src/interaction/Pointer.js +3 -10
  155. package/src/layer/Graticule.js +9 -23
  156. package/src/layer/Heatmap.js +1 -3
  157. package/src/layer/Layer.js +1 -8
  158. package/src/layer/VectorTile.js +3 -6
  159. package/src/layer/VectorTileRenderType.js +1 -6
  160. package/src/layer/WebGLPoints.js +1 -1
  161. package/src/ol.css +0 -9
  162. package/src/render/canvas/Executor.js +91 -109
  163. package/src/render/canvas/ExecutorGroup.js +21 -1
  164. package/src/render/canvas/LabelCache.js +69 -0
  165. package/src/render/canvas/TextBuilder.js +5 -3
  166. package/src/render/canvas/hitdetect.js +6 -9
  167. package/src/render/canvas.js +58 -44
  168. package/src/renderer/Composite.js +4 -5
  169. package/src/renderer/canvas/TileLayer.js +22 -0
  170. package/src/renderer/canvas/VectorImageLayer.js +0 -1
  171. package/src/renderer/canvas/VectorLayer.js +43 -39
  172. package/src/renderer/canvas/VectorTileLayer.js +30 -23
  173. package/src/renderer/webgl/PointsLayer.js +8 -0
  174. package/src/reproj/Tile.js +10 -0
  175. package/src/resolutionconstraint.js +8 -16
  176. package/src/source/IIIF.js +2 -5
  177. package/src/source/Tile.js +3 -0
  178. package/src/source/UTFGrid.js +5 -8
  179. package/src/source/UrlTile.js +1 -1
  180. package/src/source/Vector.js +3 -0
  181. package/src/source/VectorTile.js +66 -80
  182. package/src/source/WMTS.js +1 -1
  183. package/src/source/Zoomify.js +22 -15
  184. package/src/sphere.js +7 -0
  185. package/src/structs/LRUCache.js +6 -1
  186. package/src/structs/RBush.js +1 -1
  187. package/src/style/Circle.js +2 -5
  188. package/src/style/Icon.js +1 -5
  189. package/src/style/Image.js +1 -18
  190. package/src/style/LiteralStyle.js +0 -1
  191. package/src/style/RegularShape.js +3 -7
  192. package/src/style/Stroke.js +1 -1
  193. package/src/style/expressions.js +0 -2
  194. package/src/tilegrid/TileGrid.js +3 -9
  195. package/src/tilegrid/WMTS.js +10 -5
  196. package/src/transform.js +0 -19
  197. package/src/webgl/PostProcessingPass.js +12 -12
  198. package/src/webgl/ShaderBuilder.js +3 -38
  199. package/src/xml.js +10 -49
  200. package/structs/LRUCache.js +26 -7
  201. package/structs/LRUCache.js.map +1 -1
  202. package/structs/RBush.js +1 -1
  203. package/structs/RBush.js.map +1 -1
  204. package/style/Circle.js +2 -5
  205. package/style/Circle.js.map +1 -1
  206. package/style/Icon.js +0 -5
  207. package/style/Icon.js.map +1 -1
  208. package/style/Image.js +1 -16
  209. package/style/Image.js.map +1 -1
  210. package/style/LiteralStyle.js +0 -1
  211. package/style/LiteralStyle.js.map +1 -1
  212. package/style/RegularShape.js +3 -7
  213. package/style/RegularShape.js.map +1 -1
  214. package/style/Stroke.js +1 -1
  215. package/style/expressions.js +0 -2
  216. package/style/expressions.js.map +1 -1
  217. package/tilegrid/TileGrid.js +3 -9
  218. package/tilegrid/TileGrid.js.map +1 -1
  219. package/tilegrid/WMTS.js +10 -5
  220. package/tilegrid/WMTS.js.map +1 -1
  221. package/transform.js +0 -18
  222. package/transform.js.map +1 -1
  223. package/util.js +1 -1
  224. package/webgl/PostProcessingPass.js +11 -12
  225. package/webgl/PostProcessingPass.js.map +1 -1
  226. package/webgl/ShaderBuilder.js +1 -20
  227. package/webgl/ShaderBuilder.js.map +1 -1
  228. package/xml.js +8 -42
  229. package/xml.js.map +1 -1
@@ -17,6 +17,7 @@ var __extends = (this && this.__extends) || (function () {
17
17
  import { getUid } from './util.js';
18
18
  import Tile from './Tile.js';
19
19
  import { createCanvasContext2D } from './dom.js';
20
+ import { unlistenByKey } from './events.js';
20
21
  /**
21
22
  * @typedef {Object} ReplayState
22
23
  * @property {boolean} dirty
@@ -28,20 +29,19 @@ import { createCanvasContext2D } from './dom.js';
28
29
  * @property {number} renderedTileResolution
29
30
  * @property {number} renderedTileZ
30
31
  */
31
- /**
32
- * @type {Array<HTMLCanvasElement>}
33
- */
34
- var canvasPool = [];
35
32
  var VectorRenderTile = /** @class */ (function (_super) {
36
33
  __extends(VectorRenderTile, _super);
37
34
  /**
38
35
  * @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate.
39
36
  * @param {import("./TileState.js").default} state State.
40
37
  * @param {import("./tilecoord.js").TileCoord} urlTileCoord Wrapped tile coordinate for source urls.
38
+ * @param {import("./tilegrid/TileGrid.js").default} sourceTileGrid Tile grid of the source.
41
39
  * @param {function(VectorRenderTile):Array<import("./VectorTile").default>} getSourceTiles Function
42
- * to get source tiles for this tile.
40
+ * to get an source tiles for this tile.
41
+ * @param {function(VectorRenderTile):void} removeSourceTiles Function to remove this tile from its
42
+ * source tiles's consumer count.
43
43
  */
44
- function VectorRenderTile(tileCoord, state, urlTileCoord, getSourceTiles) {
44
+ function VectorRenderTile(tileCoord, state, urlTileCoord, sourceTileGrid, getSourceTiles, removeSourceTiles) {
45
45
  var _this = _super.call(this, tileCoord, state, { transition: 0 }) || this;
46
46
  /**
47
47
  * @private
@@ -64,18 +64,14 @@ var VectorRenderTile = /** @class */ (function (_super) {
64
64
  */
65
65
  _this.errorSourceTileKeys = {};
66
66
  /**
67
- * @type {Object<number, ImageData>}
67
+ * @type {ImageData}
68
68
  */
69
- _this.hitDetectionImageData = {};
69
+ _this.hitDetectionImageData = null;
70
70
  /**
71
71
  * @private
72
72
  * @type {!Object<string, ReplayState>}
73
73
  */
74
74
  _this.replayState_ = {};
75
- /**
76
- * @type {Array<import("./VectorTile.js").default>}
77
- */
78
- _this.sourceTiles = null;
79
75
  /**
80
76
  * @type {number}
81
77
  */
@@ -83,7 +79,20 @@ var VectorRenderTile = /** @class */ (function (_super) {
83
79
  /**
84
80
  * @type {!function():Array<import("./VectorTile.js").default>}
85
81
  */
86
- _this.getSourceTiles = getSourceTiles.bind(undefined, _this);
82
+ _this.getSourceTiles = getSourceTiles.bind(_this, _this);
83
+ /**
84
+ * @type {!function(import("./VectorRenderTile.js").default):void}
85
+ */
86
+ _this.removeSourceTiles_ = removeSourceTiles;
87
+ /**
88
+ * @private
89
+ * @type {import("./tilegrid/TileGrid.js").default}
90
+ */
91
+ _this.sourceTileGrid_ = sourceTileGrid;
92
+ /**
93
+ * @type {Array<import("./events.js").EventsKey>}
94
+ */
95
+ _this.sourceTileListenerKeys = [];
87
96
  /**
88
97
  * z of the source tiles of the last getSourceTiles call.
89
98
  * @type {number}
@@ -100,6 +109,26 @@ var VectorRenderTile = /** @class */ (function (_super) {
100
109
  _this.wrappedTileCoord = urlTileCoord;
101
110
  return _this;
102
111
  }
112
+ /**
113
+ * @inheritDoc
114
+ */
115
+ VectorRenderTile.prototype.disposeInternal = function () {
116
+ this.sourceTileListenerKeys.forEach(unlistenByKey);
117
+ this.sourceTileListenerKeys.length = 0;
118
+ this.removeSourceTiles_(this);
119
+ for (var key in this.context_) {
120
+ var canvas = this.context_[key].canvas;
121
+ canvas.width = 0;
122
+ canvas.height = 0;
123
+ }
124
+ for (var key in this.executorGroups) {
125
+ var executorGroups = this.executorGroups[key];
126
+ for (var i = 0, ii = executorGroups.length; i < ii; ++i) {
127
+ executorGroups[i].disposeInternal();
128
+ }
129
+ }
130
+ _super.prototype.disposeInternal.call(this);
131
+ };
103
132
  /**
104
133
  * @param {import("./layer/Layer.js").default} layer Layer.
105
134
  * @return {CanvasRenderingContext2D} The rendering context.
@@ -107,7 +136,7 @@ var VectorRenderTile = /** @class */ (function (_super) {
107
136
  VectorRenderTile.prototype.getContext = function (layer) {
108
137
  var key = getUid(layer);
109
138
  if (!(key in this.context_)) {
110
- this.context_[key] = createCanvasContext2D(1, 1, canvasPool);
139
+ this.context_[key] = createCanvasContext2D();
111
140
  }
112
141
  return this.context_[key];
113
142
  };
@@ -152,15 +181,6 @@ var VectorRenderTile = /** @class */ (function (_super) {
152
181
  VectorRenderTile.prototype.load = function () {
153
182
  this.getSourceTiles();
154
183
  };
155
- /**
156
- * @inheritDoc
157
- */
158
- VectorRenderTile.prototype.release = function () {
159
- for (var key in this.context_) {
160
- canvasPool.push(this.context_[key].canvas);
161
- }
162
- _super.prototype.release.call(this);
163
- };
164
184
  return VectorRenderTile;
165
185
  }(Tile));
166
186
  export default VectorRenderTile;
@@ -1 +1 @@
1
- {"version":3,"file":"VectorRenderTile.js","sourceRoot":"","sources":["src/VectorRenderTile.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VectorRenderTile.js","sourceRoot":"","sources":["src/VectorRenderTile.js"],"names":[],"mappings":"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"}
package/VectorTile.js CHANGED
@@ -28,6 +28,10 @@ var VectorTile = /** @class */ (function (_super) {
28
28
  */
29
29
  function VectorTile(tileCoord, state, src, format, tileLoadFunction, opt_options) {
30
30
  var _this = _super.call(this, tileCoord, state, opt_options) || this;
31
+ /**
32
+ * @type {number}
33
+ */
34
+ _this.consumers = 0;
31
35
  /**
32
36
  * Extent of this tile; set by the source.
33
37
  * @type {import("./extent.js").Extent}
@@ -99,9 +103,7 @@ var VectorTile = /** @class */ (function (_super) {
99
103
  if (this.state == TileState.IDLE) {
100
104
  this.setState(TileState.LOADING);
101
105
  this.tileLoadFunction_(this, this.url_);
102
- if (this.loader_) {
103
- this.loader_(this.extent, this.resolution, this.projection);
104
- }
106
+ this.loader_(this.extent, this.resolution, this.projection);
105
107
  }
106
108
  };
107
109
  /**
package/VectorTile.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"VectorTile.js","sourceRoot":"","sources":["src/VectorTile.js"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC;IAAyB,8BAAI;IAE3B;;;;;;;OAOG;IACH,oBAAY,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW;QAAxE,YAEE,kBAAM,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,SAkDrC;QAhDC;;;WAGG;QACH,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB;;;WAGG;QACH,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB;;;WAGG;QACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB;;;WAGG;QACH,KAAI,CAAC,OAAO,CAAC;QAEb;;;WAGG;QACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB;;;WAGG;QACH,KAAI,CAAC,UAAU,CAAC;QAEhB;;;WAGG;QACH,KAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAE1C;;;WAGG;QACH,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;;IAElB,CAAC;IAED;;;;OAIG;IACH,8BAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,gCAAW,GAAX;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,2BAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,yBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aAC7D;SACF;IACH,CAAC;IAED;;;;OAIG;IACH,2BAAM,GAAN,UAAO,QAAQ,EAAE,cAAc;QAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,4BAAO,GAAP;QACE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,gCAAW,GAAX,UAAY,QAAQ;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,8BAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACH,iBAAC;AAAD,CAAC,AAzID,CAAyB,IAAI,GAyI5B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"VectorTile.js","sourceRoot":"","sources":["src/VectorTile.js"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;GAEG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC;IAAyB,8BAAI;IAE3B;;;;;;;OAOG;IACH,oBAAY,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW;QAAxE,YAEE,kBAAM,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,SAuDrC;QArDC;;WAEG;QACH,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAEnB;;;WAGG;QACH,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB;;;WAGG;QACH,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB;;;WAGG;QACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB;;;WAGG;QACH,KAAI,CAAC,OAAO,CAAC;QAEb;;;WAGG;QACH,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB;;;WAGG;QACH,KAAI,CAAC,UAAU,CAAC;QAEhB;;;WAGG;QACH,KAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAE1C;;;WAGG;QACH,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC;;IAElB,CAAC;IAED;;;;OAIG;IACH,8BAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,gCAAW,GAAX;QACE,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,2BAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,yBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7D;IACH,CAAC;IAED;;;;OAIG;IACH,2BAAM,GAAN,UAAO,QAAQ,EAAE,cAAc;QAC7B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,4BAAO,GAAP;QACE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,gCAAW,GAAX,UAAY,QAAQ;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,8BAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACH,iBAAC;AAAD,CAAC,AA5ID,CAAyB,IAAI,GA4I5B;AAED,eAAe,UAAU,CAAC"}
package/View.js CHANGED
@@ -15,6 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  * @module ol/View
16
16
  */
17
17
  import { DEFAULT_TILE_SIZE } from './tilegrid/common.js';
18
+ import { getUid } from './util.js';
18
19
  import { VOID } from './functions.js';
19
20
  import { createExtent, none as centerNone } from './centerconstraint.js';
20
21
  import BaseObject from './Object.js';
@@ -134,14 +135,6 @@ import { createMinMaxResolution } from './resolutionconstraint.js';
134
135
  * @property {boolean} [smoothResolutionConstraint=true] If true, the resolution
135
136
  * min/max values will be applied smoothly, i. e. allow the view to exceed slightly
136
137
  * the given resolution or zoom bounds.
137
- * @property {boolean} [showFullExtent=false] Allow the view to be zoomed out to
138
- * show the full configured extent. By default, when a view is configured with an
139
- * extent, users will not be able to zoom out so the viewport exceeds the extent in
140
- * either dimension. This means the full extent may not be visible if the viewport
141
- * is taller or wider than the aspect ratio of the configured extent. If
142
- * showFullExtent is true, the user will be able to zoom out so that the viewport
143
- * exceeds the height or width of the configured extent, but not both, allowing the
144
- * full extent to be shown.
145
138
  * @property {import("./proj.js").ProjectionLike} [projection='EPSG:3857'] The
146
139
  * projection. The default is Spherical Mercator.
147
140
  * @property {number} [resolution] The initial resolution for the view. The
@@ -292,11 +285,6 @@ var View = /** @class */ (function (_super) {
292
285
  * @type {import("./proj/Projection.js").default}
293
286
  */
294
287
  _this.projection_ = createProjection(options.projection, 'EPSG:3857');
295
- /**
296
- * @private
297
- * @type {import("./size.js").Size}
298
- */
299
- _this.viewportSize_ = [100, 100];
300
288
  /**
301
289
  * @private
302
290
  * @type {import("./coordinate.js").Coordinate|undefined}
@@ -312,11 +300,6 @@ var View = /** @class */ (function (_super) {
312
300
  * @type {number|undefined}
313
301
  */
314
302
  _this.targetRotation_;
315
- /**
316
- * @private
317
- * @type {import("./coordinate.js").Coordinate|undefined}
318
- */
319
- _this.cancelAnchor_ = undefined;
320
303
  if (options.center) {
321
304
  options.center = fromUserCoordinate(options.center, _this.projection_);
322
305
  }
@@ -563,19 +546,13 @@ var View = /** @class */ (function (_super) {
563
546
  */
564
547
  View.prototype.cancelAnimations = function () {
565
548
  this.setHint(ViewHint.ANIMATING, -this.hints_[ViewHint.ANIMATING]);
566
- var anchor;
567
549
  for (var i = 0, ii = this.animations_.length; i < ii; ++i) {
568
550
  var series = this.animations_[i];
569
551
  if (series[0].callback) {
570
552
  animationCallback(series[0].callback, false);
571
553
  }
572
- anchor = anchor ||
573
- series.filter(function (animation) {
574
- return !animation.complete;
575
- })[0].anchor;
576
554
  }
577
555
  this.animations_.length = 0;
578
- this.cancelAnchor_ = anchor;
579
556
  };
580
557
  /**
581
558
  * Update all animations.
@@ -622,7 +599,7 @@ var View = /** @class */ (function (_super) {
622
599
  animation.targetResolution :
623
600
  animation.sourceResolution + progress * (animation.targetResolution - animation.sourceResolution);
624
601
  if (animation.anchor) {
625
- var size = this.getViewportSize_(this.getRotation());
602
+ var size = this.getSizeFromViewport_(this.getRotation());
626
603
  var constrainedResolution = this.constraints_.resolution(resolution, 0, size, true);
627
604
  this.targetCenter_ = this.calculateCenterZoom(constrainedResolution, animation.anchor);
628
605
  }
@@ -692,33 +669,26 @@ var View = /** @class */ (function (_super) {
692
669
  return center;
693
670
  };
694
671
  /**
695
- * Returns the current viewport size.
696
672
  * @private
697
673
  * @param {number=} opt_rotation Take into account the rotation of the viewport when giving the size
698
674
  * @return {import("./size.js").Size} Viewport size or `[100, 100]` when no viewport is found.
699
675
  */
700
- View.prototype.getViewportSize_ = function (opt_rotation) {
701
- var size = this.viewportSize_;
676
+ View.prototype.getSizeFromViewport_ = function (opt_rotation) {
677
+ var size = [100, 100];
678
+ var selector = '.ol-viewport[data-view="' + getUid(this) + '"]';
679
+ var element = document.querySelector(selector);
680
+ if (element) {
681
+ var metrics = getComputedStyle(element);
682
+ size[0] = parseInt(metrics.width, 10);
683
+ size[1] = parseInt(metrics.height, 10);
684
+ }
702
685
  if (opt_rotation) {
703
686
  var w = size[0];
704
687
  var h = size[1];
705
- return [
706
- Math.abs(w * Math.cos(opt_rotation)) + Math.abs(h * Math.sin(opt_rotation)),
707
- Math.abs(w * Math.sin(opt_rotation)) + Math.abs(h * Math.cos(opt_rotation))
708
- ];
709
- }
710
- else {
711
- return size;
688
+ size[0] = Math.abs(w * Math.cos(opt_rotation)) + Math.abs(h * Math.sin(opt_rotation));
689
+ size[1] = Math.abs(w * Math.sin(opt_rotation)) + Math.abs(h * Math.cos(opt_rotation));
712
690
  }
713
- };
714
- /**
715
- * Stores the viewport size on the view. The viewport size is not read every time from the DOM
716
- * to avoid performance hit and layout reflow.
717
- * This should be done on map size change.
718
- * @param {import("./size.js").Size=} opt_size Viewport size; if undefined, [100, 100] is assumed
719
- */
720
- View.prototype.setViewportSize = function (opt_size) {
721
- this.viewportSize_ = Array.isArray(opt_size) ? opt_size.slice() : [100, 100];
691
+ return size;
722
692
  };
723
693
  /**
724
694
  * Get the view center.
@@ -765,8 +735,8 @@ var View = /** @class */ (function (_super) {
765
735
  * The size is the pixel dimensions of the box into which the calculated extent
766
736
  * should fit. In most cases you want to get the extent of the entire map,
767
737
  * that is `map.getSize()`.
768
- * @param {import("./size.js").Size=} opt_size Box pixel size. If not provided, the size
769
- * of the map that uses this view will be used.
738
+ * @param {import("./size.js").Size=} opt_size Box pixel size. If not provided, the size of the
739
+ * first map that uses this view will be used.
770
740
  * @return {import("./extent.js").Extent} Extent.
771
741
  * @api
772
742
  */
@@ -780,7 +750,7 @@ var View = /** @class */ (function (_super) {
780
750
  * @return {import("./extent.js").Extent} Extent.
781
751
  */
782
752
  View.prototype.calculateExtentInternal = function (opt_size) {
783
- var size = opt_size || this.getViewportSize_();
753
+ var size = opt_size || this.getSizeFromViewport_();
784
754
  var center = /** @type {!import("./coordinate.js").Coordinate} */ (this.getCenterInternal());
785
755
  assert(center, 1); // The view center is not defined
786
756
  var resolution = /** @type {!number} */ (this.getResolution());
@@ -890,7 +860,7 @@ var View = /** @class */ (function (_super) {
890
860
  * the given size.
891
861
  */
892
862
  View.prototype.getResolutionForExtentInternal = function (extent, opt_size) {
893
- var size = opt_size || this.getViewportSize_();
863
+ var size = opt_size || this.getSizeFromViewport_();
894
864
  var xResolution = getWidth(extent) / size[0];
895
865
  var yResolution = getHeight(extent) / size[1];
896
866
  return Math.max(xResolution, yResolution);
@@ -903,7 +873,7 @@ var View = /** @class */ (function (_super) {
903
873
  */
904
874
  View.prototype.getResolutionForValueFunction = function (opt_power) {
905
875
  var power = opt_power || 2;
906
- var maxResolution = this.getConstrainedResolution(this.maxResolution_);
876
+ var maxResolution = this.maxResolution_;
907
877
  var minResolution = this.minResolution_;
908
878
  var max = Math.log(maxResolution / minResolution) / Math.log(power);
909
879
  return (
@@ -932,17 +902,17 @@ var View = /** @class */ (function (_super) {
932
902
  * @return {function(number): number} Value for resolution function.
933
903
  */
934
904
  View.prototype.getValueForResolutionFunction = function (opt_power) {
935
- var logPower = Math.log(opt_power || 2);
936
- var maxResolution = this.getConstrainedResolution(this.maxResolution_);
905
+ var power = opt_power || 2;
906
+ var maxResolution = this.maxResolution_;
937
907
  var minResolution = this.minResolution_;
938
- var max = Math.log(maxResolution / minResolution) / logPower;
908
+ var max = Math.log(maxResolution / minResolution) / Math.log(power);
939
909
  return (
940
910
  /**
941
911
  * @param {number} resolution Resolution.
942
912
  * @return {number} Value.
943
913
  */
944
914
  function (resolution) {
945
- var value = (Math.log(maxResolution / resolution) / logPower) / max;
915
+ var value = (Math.log(maxResolution / resolution) / Math.log(power)) / max;
946
916
  return value;
947
917
  });
948
918
  };
@@ -1033,7 +1003,7 @@ var View = /** @class */ (function (_super) {
1033
1003
  * @api
1034
1004
  */
1035
1005
  View.prototype.fit = function (geometryOrExtent, opt_options) {
1036
- var options = assign({ size: this.getViewportSize_() }, opt_options || {});
1006
+ var options = assign({ size: this.getSizeFromViewport_() }, opt_options || {});
1037
1007
  /** @type {import("./geom/SimpleGeometry.js").default} */
1038
1008
  var geometry;
1039
1009
  assert(Array.isArray(geometryOrExtent) || typeof /** @type {?} */ (geometryOrExtent).getSimplifiedGeometry === 'function', 24); // Invalid extent or geometry provided as `geometry`
@@ -1050,7 +1020,7 @@ var View = /** @class */ (function (_super) {
1050
1020
  else {
1051
1021
  var userProjection = getUserProjection();
1052
1022
  if (userProjection) {
1053
- geometry = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometryOrExtent.clone().transform(userProjection, this.getProjection()));
1023
+ geometry = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry.clone().transform(userProjection, this.getProjection()));
1054
1024
  }
1055
1025
  else {
1056
1026
  geometry = geometryOrExtent;
@@ -1066,7 +1036,7 @@ var View = /** @class */ (function (_super) {
1066
1036
  var options = opt_options || {};
1067
1037
  var size = options.size;
1068
1038
  if (!size) {
1069
- size = this.getViewportSize_();
1039
+ size = this.getSizeFromViewport_();
1070
1040
  }
1071
1041
  var padding = options.padding !== undefined ? options.padding : [0, 0, 0, 0];
1072
1042
  var nearest = options.nearest !== undefined ? options.nearest : false;
@@ -1201,9 +1171,9 @@ var View = /** @class */ (function (_super) {
1201
1171
  */
1202
1172
  View.prototype.adjustResolutionInternal = function (ratio, opt_anchor) {
1203
1173
  var isMoving = this.getAnimating() || this.getInteracting();
1204
- var size = this.getViewportSize_(this.getRotation());
1174
+ var size = this.getSizeFromViewport_(this.getRotation());
1205
1175
  var newResolution = this.constraints_.resolution(this.targetResolution_ * ratio, 0, size, isMoving);
1206
- if (opt_anchor) {
1176
+ if (opt_anchor !== undefined) {
1207
1177
  this.targetCenter_ = this.calculateCenterZoom(newResolution, opt_anchor);
1208
1178
  }
1209
1179
  this.targetResolution_ *= ratio;
@@ -1239,7 +1209,7 @@ var View = /** @class */ (function (_super) {
1239
1209
  View.prototype.adjustRotationInternal = function (delta, opt_anchor) {
1240
1210
  var isMoving = this.getAnimating() || this.getInteracting();
1241
1211
  var newRotation = this.constraints_.rotation(this.targetRotation_ + delta, isMoving);
1242
- if (opt_anchor) {
1212
+ if (opt_anchor !== undefined) {
1243
1213
  this.targetCenter_ = this.calculateCenterRotate(newRotation, opt_anchor);
1244
1214
  }
1245
1215
  this.targetRotation_ += delta;
@@ -1312,7 +1282,7 @@ var View = /** @class */ (function (_super) {
1312
1282
  var isMoving = this.getAnimating() || this.getInteracting() || opt_forceMoving;
1313
1283
  // compute rotation
1314
1284
  var newRotation = this.constraints_.rotation(this.targetRotation_, isMoving);
1315
- var size = this.getViewportSize_(newRotation);
1285
+ var size = this.getSizeFromViewport_(newRotation);
1316
1286
  var newResolution = this.constraints_.resolution(this.targetResolution_, 0, size, isMoving);
1317
1287
  var newCenter = this.constraints_.center(this.targetCenter_, newResolution, size, isMoving);
1318
1288
  if (this.get(ViewProperty.ROTATION) !== newRotation) {
@@ -1327,7 +1297,6 @@ var View = /** @class */ (function (_super) {
1327
1297
  if (this.getAnimating() && !opt_doNotCancelAnims) {
1328
1298
  this.cancelAnimations();
1329
1299
  }
1330
- this.cancelAnchor_ = undefined;
1331
1300
  };
1332
1301
  /**
1333
1302
  * If any constraints need to be applied, an animation will be triggered.
@@ -1342,18 +1311,16 @@ var View = /** @class */ (function (_super) {
1342
1311
  var duration = opt_duration !== undefined ? opt_duration : 200;
1343
1312
  var direction = opt_resolutionDirection || 0;
1344
1313
  var newRotation = this.constraints_.rotation(this.targetRotation_);
1345
- var size = this.getViewportSize_(newRotation);
1314
+ var size = this.getSizeFromViewport_(newRotation);
1346
1315
  var newResolution = this.constraints_.resolution(this.targetResolution_, direction, size);
1347
1316
  var newCenter = this.constraints_.center(this.targetCenter_, newResolution, size);
1348
- if (duration === 0 && !this.cancelAnchor_) {
1317
+ if (duration === 0) {
1349
1318
  this.targetResolution_ = newResolution;
1350
1319
  this.targetRotation_ = newRotation;
1351
1320
  this.targetCenter_ = newCenter;
1352
1321
  this.applyTargetState_();
1353
1322
  return;
1354
1323
  }
1355
- var anchor = opt_anchor || (duration === 0 ? this.cancelAnchor_ : undefined);
1356
- this.cancelAnchor_ = undefined;
1357
1324
  if (this.getResolution() !== newResolution ||
1358
1325
  this.getRotation() !== newRotation ||
1359
1326
  !this.getCenterInternal() ||
@@ -1367,7 +1334,7 @@ var View = /** @class */ (function (_super) {
1367
1334
  resolution: newResolution,
1368
1335
  duration: duration,
1369
1336
  easing: easeOut,
1370
- anchor: anchor
1337
+ anchor: opt_anchor
1371
1338
  });
1372
1339
  }
1373
1340
  };
@@ -1412,7 +1379,7 @@ var View = /** @class */ (function (_super) {
1412
1379
  * @return {import("./coordinate.js").Coordinate|undefined} Valid center position.
1413
1380
  */
1414
1381
  View.prototype.getConstrainedCenter = function (targetCenter, opt_targetResolution) {
1415
- var size = this.getViewportSize_(this.getRotation());
1382
+ var size = this.getSizeFromViewport_(this.getRotation());
1416
1383
  return this.constraints_.center(targetCenter, opt_targetResolution || this.getResolution(), size);
1417
1384
  };
1418
1385
  /**
@@ -1439,7 +1406,7 @@ var View = /** @class */ (function (_super) {
1439
1406
  */
1440
1407
  View.prototype.getConstrainedResolution = function (targetResolution, opt_direction) {
1441
1408
  var direction = opt_direction || 0;
1442
- var size = this.getViewportSize_(this.getRotation());
1409
+ var size = this.getSizeFromViewport_(this.getRotation());
1443
1410
  return this.constraints_.resolution(targetResolution, direction, size);
1444
1411
  };
1445
1412
  return View;
@@ -1493,7 +1460,6 @@ export function createResolutionConstraint(options) {
1493
1460
  var multiWorld = options.multiWorld !== undefined ?
1494
1461
  options.multiWorld : false;
1495
1462
  var smooth = options.smoothResolutionConstraint !== undefined ? options.smoothResolutionConstraint : true;
1496
- var showFullExtent = options.showFullExtent !== undefined ? options.showFullExtent : false;
1497
1463
  var projection = createProjection(options.projection, 'EPSG:3857');
1498
1464
  var projExtent = projection.getExtent();
1499
1465
  var constrainOnlyCenter = options.constrainOnlyCenter;
@@ -1508,10 +1474,10 @@ export function createResolutionConstraint(options) {
1508
1474
  minResolution = resolutions[maxZoom] !== undefined ?
1509
1475
  resolutions[maxZoom] : resolutions[resolutions.length - 1];
1510
1476
  if (options.constrainResolution) {
1511
- resolutionConstraint = createSnapToResolutions(resolutions, smooth, !constrainOnlyCenter && extent, showFullExtent);
1477
+ resolutionConstraint = createSnapToResolutions(resolutions, smooth, !constrainOnlyCenter && extent);
1512
1478
  }
1513
1479
  else {
1514
- resolutionConstraint = createMinMaxResolution(maxResolution, minResolution, smooth, !constrainOnlyCenter && extent, showFullExtent);
1480
+ resolutionConstraint = createMinMaxResolution(maxResolution, minResolution, smooth, !constrainOnlyCenter && extent);
1515
1481
  }
1516
1482
  }
1517
1483
  else {
@@ -1550,10 +1516,10 @@ export function createResolutionConstraint(options) {
1550
1516
  maxZoom = minZoom + Math.floor(Math.log(maxResolution / minResolution) / Math.log(zoomFactor));
1551
1517
  minResolution = maxResolution / Math.pow(zoomFactor, maxZoom - minZoom);
1552
1518
  if (options.constrainResolution) {
1553
- resolutionConstraint = createSnapToPower(zoomFactor, maxResolution, minResolution, smooth, !constrainOnlyCenter && extent, showFullExtent);
1519
+ resolutionConstraint = createSnapToPower(zoomFactor, maxResolution, minResolution, smooth, !constrainOnlyCenter && extent);
1554
1520
  }
1555
1521
  else {
1556
- resolutionConstraint = createMinMaxResolution(maxResolution, minResolution, smooth, !constrainOnlyCenter && extent, showFullExtent);
1522
+ resolutionConstraint = createMinMaxResolution(maxResolution, minResolution, smooth, !constrainOnlyCenter && extent);
1557
1523
  }
1558
1524
  }
1559
1525
  return { constraint: resolutionConstraint, maxResolution: maxResolution,