@antv/l7-map 2.21.1 → 2.21.3

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 (158) hide show
  1. package/es/camera.js +595 -674
  2. package/es/earthmap.js +313 -276
  3. package/es/geo/edge_insets.js +57 -72
  4. package/es/geo/lng_lat.js +50 -64
  5. package/es/geo/lng_lat_bounds.js +101 -137
  6. package/es/geo/mercator.js +23 -35
  7. package/es/geo/point.js +150 -221
  8. package/es/geo/simple.js +22 -34
  9. package/es/geo/transform.js +839 -905
  10. package/es/handler/blockable_map_event.js +46 -66
  11. package/es/handler/box_zoom.js +125 -143
  12. package/es/handler/click_zoom.js +37 -51
  13. package/es/handler/events/event.js +11 -9
  14. package/es/handler/events/map_mouse_event.js +39 -54
  15. package/es/handler/events/map_touch_event.js +54 -73
  16. package/es/handler/events/map_wheel_event.js +22 -38
  17. package/es/handler/events/render_event.js +6 -23
  18. package/es/handler/handler_inertia.js +98 -113
  19. package/es/handler/handler_manager.js +349 -437
  20. package/es/handler/handler_util.js +2 -2
  21. package/es/handler/keyboard.js +98 -110
  22. package/es/handler/map_event.js +81 -117
  23. package/es/handler/mouse/mouse_handler.js +81 -100
  24. package/es/handler/mouse/mousepan_handler.js +16 -39
  25. package/es/handler/mouse/mousepitch_hander.js +18 -40
  26. package/es/handler/mouse/mouserotate_hander.js +18 -40
  27. package/es/handler/mouse/util.js +7 -5
  28. package/es/handler/scroll_zoom.js +221 -231
  29. package/es/handler/shim/dblclick_zoom.js +36 -47
  30. package/es/handler/shim/drag_pan.js +41 -50
  31. package/es/handler/shim/drag_rotate.js +38 -48
  32. package/es/handler/shim/touch_zoom_rotate.js +68 -79
  33. package/es/handler/tap/single_tap_recognizer.js +60 -80
  34. package/es/handler/tap/tap_drag_zoom.js +72 -89
  35. package/es/handler/tap/tap_recognizer.js +37 -45
  36. package/es/handler/tap/tap_zoom.js +67 -95
  37. package/es/handler/touch/touch_pan.js +77 -96
  38. package/es/handler/touch/touch_pitch.js +61 -79
  39. package/es/handler/touch/touch_rotate.js +47 -67
  40. package/es/handler/touch/touch_zoom.js +29 -46
  41. package/es/handler/touch/two_touch.js +79 -104
  42. package/es/hash.js +75 -88
  43. package/es/map.js +318 -284
  44. package/es/util.js +18 -37
  45. package/es/utils/Aabb.js +60 -100
  46. package/es/utils/dom.js +32 -55
  47. package/es/utils/performance.js +25 -29
  48. package/es/utils/primitives.js +33 -42
  49. package/es/utils/task_queue.js +47 -76
  50. package/lib/camera.d.ts +86 -0
  51. package/lib/camera.js +597 -672
  52. package/lib/earthmap.d.ts +69 -0
  53. package/lib/earthmap.js +314 -276
  54. package/lib/geo/edge_insets.d.ts +54 -0
  55. package/lib/geo/edge_insets.js +58 -70
  56. package/lib/geo/lng_lat.d.ts +18 -0
  57. package/lib/geo/lng_lat.js +50 -62
  58. package/lib/geo/lng_lat_bounds.d.ts +25 -0
  59. package/lib/geo/lng_lat_bounds.js +102 -136
  60. package/lib/geo/mercator.d.ts +30 -0
  61. package/lib/geo/mercator.js +26 -37
  62. package/lib/geo/point.d.ts +40 -0
  63. package/lib/geo/point.js +151 -220
  64. package/lib/geo/simple.d.ts +30 -0
  65. package/lib/geo/simple.js +25 -36
  66. package/lib/geo/transform.d.ts +198 -0
  67. package/lib/geo/transform.js +844 -907
  68. package/lib/handler/IHandler.d.ts +34 -0
  69. package/lib/handler/blockable_map_event.d.ts +17 -0
  70. package/lib/handler/blockable_map_event.js +48 -65
  71. package/lib/handler/box_zoom.d.ts +59 -0
  72. package/lib/handler/box_zoom.js +126 -143
  73. package/lib/handler/click_zoom.d.ts +16 -0
  74. package/lib/handler/click_zoom.js +38 -50
  75. package/lib/handler/events/event.d.ts +4 -0
  76. package/lib/handler/events/event.js +12 -9
  77. package/lib/handler/events/index.d.ts +4 -0
  78. package/lib/handler/events/index.js +3 -3
  79. package/lib/handler/events/map_mouse_event.d.ts +34 -0
  80. package/lib/handler/events/map_mouse_event.js +41 -52
  81. package/lib/handler/events/map_touch_event.d.ts +57 -0
  82. package/lib/handler/events/map_touch_event.js +56 -71
  83. package/lib/handler/events/map_wheel_event.d.ts +33 -0
  84. package/lib/handler/events/map_wheel_event.js +23 -37
  85. package/lib/handler/events/render_event.d.ts +5 -0
  86. package/lib/handler/events/render_event.js +7 -22
  87. package/lib/handler/handler_inertia.d.ts +23 -0
  88. package/lib/handler/handler_inertia.js +102 -112
  89. package/lib/handler/handler_manager.d.ts +61 -0
  90. package/lib/handler/handler_manager.js +351 -437
  91. package/lib/handler/handler_util.d.ts +4 -0
  92. package/lib/handler/handler_util.js +2 -2
  93. package/lib/handler/keyboard.d.ts +36 -0
  94. package/lib/handler/keyboard.js +98 -110
  95. package/lib/handler/map_event.d.ts +29 -0
  96. package/lib/handler/map_event.js +83 -116
  97. package/lib/handler/mouse/index.d.ts +4 -0
  98. package/lib/handler/mouse/index.js +3 -3
  99. package/lib/handler/mouse/mouse_handler.d.ts +22 -0
  100. package/lib/handler/mouse/mouse_handler.js +83 -99
  101. package/lib/handler/mouse/mousepan_handler.d.ts +10 -0
  102. package/lib/handler/mouse/mousepan_handler.js +19 -38
  103. package/lib/handler/mouse/mousepitch_hander.d.ts +9 -0
  104. package/lib/handler/mouse/mousepitch_hander.js +21 -39
  105. package/lib/handler/mouse/mouserotate_hander.d.ts +9 -0
  106. package/lib/handler/mouse/mouserotate_hander.js +21 -39
  107. package/lib/handler/mouse/util.d.ts +6 -0
  108. package/lib/handler/mouse/util.js +7 -6
  109. package/lib/handler/scroll_zoom.d.ts +93 -0
  110. package/lib/handler/scroll_zoom.js +221 -231
  111. package/lib/handler/shim/dblclick_zoom.d.ts +40 -0
  112. package/lib/handler/shim/dblclick_zoom.js +37 -46
  113. package/lib/handler/shim/drag_pan.d.ts +61 -0
  114. package/lib/handler/shim/drag_pan.js +42 -49
  115. package/lib/handler/shim/drag_rotate.d.ts +46 -0
  116. package/lib/handler/shim/drag_rotate.js +39 -47
  117. package/lib/handler/shim/touch_zoom_rotate.d.ts +70 -0
  118. package/lib/handler/shim/touch_zoom_rotate.js +69 -78
  119. package/lib/handler/tap/single_tap_recognizer.d.ts +20 -0
  120. package/lib/handler/tap/single_tap_recognizer.js +63 -79
  121. package/lib/handler/tap/tap_drag_zoom.d.ts +22 -0
  122. package/lib/handler/tap/tap_drag_zoom.js +74 -88
  123. package/lib/handler/tap/tap_recognizer.d.ts +17 -0
  124. package/lib/handler/tap/tap_recognizer.js +41 -47
  125. package/lib/handler/tap/tap_zoom.d.ts +22 -0
  126. package/lib/handler/tap/tap_zoom.js +69 -94
  127. package/lib/handler/touch/index.d.ts +5 -0
  128. package/lib/handler/touch/index.js +4 -4
  129. package/lib/handler/touch/touch_pan.d.ts +30 -0
  130. package/lib/handler/touch/touch_pan.js +79 -95
  131. package/lib/handler/touch/touch_pitch.d.ts +13 -0
  132. package/lib/handler/touch/touch_pitch.js +64 -78
  133. package/lib/handler/touch/touch_rotate.d.ts +12 -0
  134. package/lib/handler/touch/touch_rotate.js +50 -66
  135. package/lib/handler/touch/touch_zoom.d.ts +12 -0
  136. package/lib/handler/touch/touch_zoom.js +32 -45
  137. package/lib/handler/touch/two_touch.d.ts +23 -0
  138. package/lib/handler/touch/two_touch.js +81 -103
  139. package/lib/hash.d.ts +14 -0
  140. package/lib/hash.js +75 -88
  141. package/lib/index.d.ts +4 -0
  142. package/lib/index.js +4 -4
  143. package/lib/interface.d.ts +34 -0
  144. package/lib/map.d.ts +70 -0
  145. package/lib/map.js +319 -284
  146. package/lib/util.d.ts +25 -0
  147. package/lib/util.js +20 -36
  148. package/lib/utils/Aabb.d.ts +12 -0
  149. package/lib/utils/Aabb.js +61 -99
  150. package/lib/utils/dom.d.ts +4 -0
  151. package/lib/utils/dom.js +34 -55
  152. package/lib/utils/performance.d.ts +17 -0
  153. package/lib/utils/performance.js +25 -29
  154. package/lib/utils/primitives.d.ts +6 -0
  155. package/lib/utils/primitives.js +34 -41
  156. package/lib/utils/task_queue.d.ts +13 -0
  157. package/lib/utils/task_queue.js +47 -76
  158. package/package.json +25 -32
package/es/hash.js CHANGED
@@ -1,46 +1,43 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
2
  // @ts-ignore
5
3
  // tslint:disable-next-line:no-submodule-imports
6
4
  import { lodashUtil } from '@antv/l7-utils';
7
- var throttle = lodashUtil.throttle;
5
+ const {
6
+ throttle
7
+ } = lodashUtil;
8
8
  /*
9
9
  * Adds the map's position to its page's location hash.
10
10
  * Passed as an option to the map object.
11
11
  *
12
12
  * @returns {Hash} `this`
13
13
  */
14
- var Hash = /*#__PURE__*/function () {
15
- function Hash(hashName) {
16
- var _this = this;
17
- _classCallCheck(this, Hash);
18
- _defineProperty(this, "onHashChange", function () {
19
- var loc = _this.getCurrentHash();
20
- if (loc.length >= 3 && !loc.some(function (v) {
21
- return isNaN(+v);
22
- })) {
23
- var bearing = _this.map.dragRotate.isEnabled() && _this.map.touchZoomRotate.isEnabled() ? +(loc[3] || 0) : _this.map.getBearing();
24
- _this.map.jumpTo({
14
+ class Hash {
15
+ constructor(hashName) {
16
+ _defineProperty(this, "map", void 0);
17
+ _defineProperty(this, "updateHash", void 0);
18
+ _defineProperty(this, "hashName", void 0);
19
+ _defineProperty(this, "onHashChange", () => {
20
+ const loc = this.getCurrentHash();
21
+ if (loc.length >= 3 && !loc.some(v => isNaN(+v))) {
22
+ const bearing = this.map.dragRotate.isEnabled() && this.map.touchZoomRotate.isEnabled() ? +(loc[3] || 0) : this.map.getBearing();
23
+ this.map.jumpTo({
25
24
  center: [+loc[2], +loc[1]],
26
25
  zoom: +loc[0],
27
- bearing: bearing,
26
+ bearing,
28
27
  pitch: +(loc[4] || 0)
29
28
  });
30
29
  return true;
31
30
  }
32
31
  return false;
33
32
  });
34
- _defineProperty(this, "getCurrentHash", function () {
33
+ _defineProperty(this, "getCurrentHash", () => {
35
34
  // Get the current hash from location, stripped from its number sign
36
- var hash = window.location.hash.replace('#', '');
37
- if (_this.hashName) {
35
+ const hash = window.location.hash.replace('#', '');
36
+ if (this.hashName) {
38
37
  // Split the parameter-styled hash into parts and find the value we need
39
- var keyval;
40
- hash.split('&').map(function (part) {
41
- return part.split('=');
42
- }).forEach(function (part) {
43
- if (part[0] === _this.hashName) {
38
+ let keyval;
39
+ hash.split('&').map(part => part.split('=')).forEach(part => {
40
+ if (part[0] === this.hashName) {
44
41
  keyval = part;
45
42
  }
46
43
  });
@@ -48,8 +45,8 @@ var Hash = /*#__PURE__*/function () {
48
45
  }
49
46
  return hash.split('/');
50
47
  });
51
- _defineProperty(this, "updateHashUnthrottled", function () {
52
- var hash = _this.getHashString();
48
+ _defineProperty(this, "updateHashUnthrottled", () => {
49
+ const hash = this.getHashString();
53
50
  try {
54
51
  window.history.replaceState(window.history.state, '', hash);
55
52
  } catch (SecurityError) {
@@ -63,72 +60,62 @@ var Hash = /*#__PURE__*/function () {
63
60
  // Mobile Safari doesn't allow updating the hash more than 100 times per 30 seconds.
64
61
  this.updateHash = throttle(this.updateHashUnthrottled, 30 * 1000 / 100);
65
62
  }
66
- _createClass(Hash, [{
67
- key: "addTo",
68
- value: function addTo(map) {
69
- this.map = map;
70
- window.addEventListener('hashchange', this.onHashChange, false);
71
- this.map.on('moveend', this.updateHash);
72
- return this;
73
- }
74
- }, {
75
- key: "remove",
76
- value: function remove() {
77
- window.removeEventListener('hashchange', this.onHashChange, false);
78
- this.map.off('moveend', this.updateHash);
79
- // clearTimeout(this.updateHash());
63
+ addTo(map) {
64
+ this.map = map;
65
+ window.addEventListener('hashchange', this.onHashChange, false);
66
+ this.map.on('moveend', this.updateHash);
67
+ return this;
68
+ }
69
+ remove() {
70
+ window.removeEventListener('hashchange', this.onHashChange, false);
71
+ this.map.off('moveend', this.updateHash);
72
+ // clearTimeout(this.updateHash());
80
73
 
81
- // @ts-ignore
82
- delete this.map;
83
- return this;
74
+ // @ts-ignore
75
+ delete this.map;
76
+ return this;
77
+ }
78
+ getHashString(mapFeedback) {
79
+ const center = this.map.getCenter();
80
+ const zoom = Math.round(this.map.getZoom() * 100) / 100;
81
+ // derived from equation: 512px * 2^z / 360 / 10^d < 0.5px
82
+ const precision = Math.ceil((zoom * Math.LN2 + Math.log(512 / 360 / 0.5)) / Math.LN10);
83
+ const m = Math.pow(10, precision);
84
+ const lng = Math.round(center.lng * m) / m;
85
+ const lat = Math.round(center.lat * m) / m;
86
+ const bearing = this.map.getBearing();
87
+ const pitch = this.map.getPitch();
88
+ let hash = '';
89
+ if (mapFeedback) {
90
+ // new map feedback site has some constraints that don't allow
91
+ // us to use the same hash format as we do for the Map hash option.
92
+ hash += `/${lng}/${lat}/${zoom}`;
93
+ } else {
94
+ hash += `${zoom}/${lat}/${lng}`;
84
95
  }
85
- }, {
86
- key: "getHashString",
87
- value: function getHashString(mapFeedback) {
88
- var center = this.map.getCenter();
89
- var zoom = Math.round(this.map.getZoom() * 100) / 100;
90
- // derived from equation: 512px * 2^z / 360 / 10^d < 0.5px
91
- var precision = Math.ceil((zoom * Math.LN2 + Math.log(512 / 360 / 0.5)) / Math.LN10);
92
- var m = Math.pow(10, precision);
93
- var lng = Math.round(center.lng * m) / m;
94
- var lat = Math.round(center.lat * m) / m;
95
- var bearing = this.map.getBearing();
96
- var pitch = this.map.getPitch();
97
- var hash = '';
98
- if (mapFeedback) {
99
- // new map feedback site has some constraints that don't allow
100
- // us to use the same hash format as we do for the Map hash option.
101
- hash += "/".concat(lng, "/").concat(lat, "/").concat(zoom);
102
- } else {
103
- hash += "".concat(zoom, "/").concat(lat, "/").concat(lng);
104
- }
105
- if (bearing || pitch) {
106
- hash += "/".concat(Math.round(bearing * 10) / 10);
107
- }
108
- if (pitch) {
109
- hash += "/".concat(Math.round(pitch));
110
- }
111
- if (this.hashName) {
112
- var hashName = this.hashName;
113
- var found = false;
114
- var parts = window.location.hash.slice(1).split('&').map(function (part) {
115
- var key = part.split('=')[0];
116
- if (key === hashName) {
117
- found = true;
118
- return "".concat(key, "=").concat(hash);
119
- }
120
- return part;
121
- }).filter(function (a) {
122
- return a;
123
- });
124
- if (!found) {
125
- parts.push("".concat(hashName, "=").concat(hash));
96
+ if (bearing || pitch) {
97
+ hash += `/${Math.round(bearing * 10) / 10}`;
98
+ }
99
+ if (pitch) {
100
+ hash += `/${Math.round(pitch)}`;
101
+ }
102
+ if (this.hashName) {
103
+ const hashName = this.hashName;
104
+ let found = false;
105
+ const parts = window.location.hash.slice(1).split('&').map(part => {
106
+ const key = part.split('=')[0];
107
+ if (key === hashName) {
108
+ found = true;
109
+ return `${key}=${hash}`;
126
110
  }
127
- return "#".concat(parts.join('&'));
111
+ return part;
112
+ }).filter(a => a);
113
+ if (!found) {
114
+ parts.push(`${hashName}=${hash}`);
128
115
  }
129
- return "#".concat(hash);
116
+ return `#${parts.join('&')}`;
130
117
  }
131
- }]);
132
- return Hash;
133
- }();
118
+ return `#${hash}`;
119
+ }
120
+ }
134
121
  export default Hash;