@antv/l7-map 2.5.39 → 2.5.43

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 (57) hide show
  1. package/es/camera.js.map +1 -1
  2. package/es/earthmap.d.ts +0 -1
  3. package/es/earthmap.js +0 -26
  4. package/es/earthmap.js.map +1 -1
  5. package/es/handler/IHandler.js +1 -1
  6. package/es/handler/handler_manager.js +53 -33
  7. package/es/handler/handler_manager.js.map +1 -1
  8. package/es/handler/shim/drag_pan.js +9 -2
  9. package/es/handler/shim/drag_pan.js.map +1 -1
  10. package/es/handler/shim/touch_zoom_rotate.js +9 -2
  11. package/es/handler/shim/touch_zoom_rotate.js.map +1 -1
  12. package/es/hash.d.ts +1 -2
  13. package/es/hash.js +5 -4
  14. package/es/hash.js.map +1 -1
  15. package/es/interface.d.ts +1 -0
  16. package/es/interface.js +1 -1
  17. package/es/map.d.ts +4 -1
  18. package/es/map.js +33 -20
  19. package/es/map.js.map +1 -1
  20. package/es/util.js +6 -5
  21. package/es/util.js.map +1 -1
  22. package/es/utils/dom.js +60 -26
  23. package/es/utils/dom.js.map +1 -1
  24. package/es/utils/performance.js +2 -1
  25. package/es/utils/performance.js.map +1 -1
  26. package/lib/camera.js.map +1 -1
  27. package/lib/earthmap.js +0 -26
  28. package/lib/earthmap.js.map +1 -1
  29. package/lib/geo/lng_lat.js +1 -1
  30. package/lib/geo/mercator.js +11 -7
  31. package/lib/geo/mercator.js.map +1 -1
  32. package/lib/geo/simple.js +11 -7
  33. package/lib/geo/simple.js.map +1 -1
  34. package/lib/geo/transform.js +6 -2
  35. package/lib/geo/transform.js.map +1 -1
  36. package/lib/handler/handler_manager.js +55 -33
  37. package/lib/handler/handler_manager.js.map +1 -1
  38. package/lib/handler/mouse/index.js +4 -4
  39. package/lib/handler/mouse/util.js +1 -1
  40. package/lib/handler/shim/drag_pan.js +10 -2
  41. package/lib/handler/shim/drag_pan.js.map +1 -1
  42. package/lib/handler/shim/touch_zoom_rotate.js +10 -2
  43. package/lib/handler/shim/touch_zoom_rotate.js.map +1 -1
  44. package/lib/handler/tap/single_tap_recognizer.js +1 -1
  45. package/lib/handler/tap/tap_recognizer.js +6 -2
  46. package/lib/handler/tap/tap_recognizer.js.map +1 -1
  47. package/lib/hash.js +9 -4
  48. package/lib/hash.js.map +1 -1
  49. package/lib/map.js +32 -19
  50. package/lib/map.js.map +1 -1
  51. package/lib/util.js +14 -9
  52. package/lib/util.js.map +1 -1
  53. package/lib/utils/dom.js +66 -26
  54. package/lib/utils/dom.js.map +1 -1
  55. package/lib/utils/performance.js +4 -1
  56. package/lib/utils/performance.js.map +1 -1
  57. package/package.json +3 -3
package/lib/utils/dom.js CHANGED
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _l7Utils = require("@antv/l7-utils");
11
+
10
12
  var _point = _interopRequireDefault(require("../geo/point"));
11
13
 
12
14
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
@@ -20,7 +22,7 @@ var _default = DOM;
20
22
  exports.default = _default;
21
23
 
22
24
  DOM.create = function (tagName, className, container) {
23
- var el = window.document.createElement(tagName);
25
+ var el = _l7Utils.$window.document.createElement(tagName);
24
26
 
25
27
  if (className !== undefined) {
26
28
  el.className = className;
@@ -34,11 +36,12 @@ DOM.create = function (tagName, className, container) {
34
36
  };
35
37
 
36
38
  DOM.createNS = function (namespaceURI, tagName) {
37
- var el = window.document.createElementNS(namespaceURI, tagName);
39
+ var el = _l7Utils.$window.document.createElementNS(namespaceURI, tagName);
40
+
38
41
  return el;
39
42
  };
40
43
 
41
- var docStyle = window.document && window.document.documentElement.style;
44
+ var docStyle = _l7Utils.$window.document && _l7Utils.$window.document.documentElement.style;
42
45
 
43
46
  function testProp(props) {
44
47
  if (!docStyle) {
@@ -95,8 +98,10 @@ try {
95
98
  passiveSupported = true;
96
99
  }
97
100
  });
98
- window.addEventListener('test', options, options);
99
- window.removeEventListener('test', options, options);
101
+
102
+ _l7Utils.$window.addEventListener('test', options, options);
103
+
104
+ _l7Utils.$window.removeEventListener('test', options, options);
100
105
  } catch (err) {
101
106
  passiveSupported = false;
102
107
  }
@@ -124,44 +129,79 @@ DOM.removeEventListener = function (target, type, callback) {
124
129
  var suppressClick = function suppressClick(e) {
125
130
  e.preventDefault();
126
131
  e.stopPropagation();
127
- window.removeEventListener('click', suppressClick, true);
132
+
133
+ _l7Utils.$window.removeEventListener('click', suppressClick, true);
128
134
  };
129
135
 
130
136
  DOM.suppressClick = function () {
131
- window.addEventListener('click', suppressClick, true);
132
- window.setTimeout(function () {
133
- window.removeEventListener('click', suppressClick, true);
137
+ if (_l7Utils.isMini) {
138
+ return;
139
+ }
140
+
141
+ _l7Utils.$window.addEventListener('click', suppressClick, true);
142
+
143
+ setTimeout(function () {
144
+ _l7Utils.$window.removeEventListener('click', suppressClick, true);
134
145
  }, 0);
135
146
  };
136
147
 
137
148
  DOM.mousePos = function (el, e) {
138
- var rect = el.getBoundingClientRect();
139
- return new _point.default(e.clientX - rect.left - el.clientLeft, e.clientY - rect.top - el.clientTop);
149
+ if (!_l7Utils.isMini) {
150
+ var rect = el.getBoundingClientRect();
151
+ return new _point.default(e.clientX - rect.left - el.clientLeft, e.clientY - rect.top - el.clientTop);
152
+ } else {
153
+ return new _point.default(e.clientX - el.left - 0, e.clientY - el.top - 0);
154
+ }
140
155
  };
141
156
 
142
157
  DOM.touchPos = function (el, touches) {
143
- var rect = el.getBoundingClientRect();
144
- var points = [];
158
+ if (!_l7Utils.isMini) {
159
+ var rect = el.getBoundingClientRect();
160
+ var points = [];
145
161
 
146
- var _iterator2 = _createForOfIteratorHelper(touches),
147
- _step2;
162
+ var _iterator2 = _createForOfIteratorHelper(touches),
163
+ _step2;
148
164
 
149
- try {
150
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
151
- var touche = _step2.value;
152
- points.push(new _point.default(touche.clientX - rect.left - el.clientLeft, touche.clientY - rect.top - el.clientTop));
165
+ try {
166
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
167
+ var touche = _step2.value;
168
+ points.push(new _point.default(touche.clientX - rect.left - el.clientLeft, touche.clientY - rect.top - el.clientTop));
169
+ }
170
+ } catch (err) {
171
+ _iterator2.e(err);
172
+ } finally {
173
+ _iterator2.f();
153
174
  }
154
- } catch (err) {
155
- _iterator2.e(err);
156
- } finally {
157
- _iterator2.f();
158
- }
159
175
 
160
- return points;
176
+ return points;
177
+ } else {
178
+ var _points = [];
179
+
180
+ var _iterator3 = _createForOfIteratorHelper(touches),
181
+ _step3;
182
+
183
+ try {
184
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
185
+ var _touche = _step3.value;
186
+
187
+ _points.push(new _point.default(_touche.clientX - el.left, _touche.clientY - el.top));
188
+ }
189
+ } catch (err) {
190
+ _iterator3.e(err);
191
+ } finally {
192
+ _iterator3.f();
193
+ }
194
+
195
+ return _points;
196
+ }
161
197
  };
162
198
 
163
199
  DOM.mouseButton = function (e) {
164
- if (typeof window.InstallTrigger !== 'undefined' && e.button === 2 && e.ctrlKey && window.navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
200
+ if (!_l7Utils.isMini) {
201
+ return e.button;
202
+ }
203
+
204
+ if (typeof _l7Utils.$window.InstallTrigger !== 'undefined' && e.button === 2 && e.ctrlKey && _l7Utils.$window.navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
165
205
  return 0;
166
206
  }
167
207
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dom.ts"],"names":["DOM","create","tagName","className","container","el","window","document","createElement","undefined","appendChild","createNS","namespaceURI","createElementNS","docStyle","documentElement","style","testProp","props","i","selectProp","userSelect","disableDrag","enableDrag","transformProp","setTransform","value","passiveSupported","options","Object","defineProperty","get","addEventListener","removeEventListener","err","target","type","callback","capture","suppressClick","e","preventDefault","stopPropagation","setTimeout","mousePos","rect","getBoundingClientRect","Point","clientX","left","clientLeft","clientY","top","clientTop","touchPos","touches","points","touche","push","mouseButton","InstallTrigger","button","ctrlKey","navigator","platform","toUpperCase","indexOf","remove","node","parentNode","removeChild"],"mappings":"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","sourcesContent":["// @ts-ignore\nimport Point from '../geo/point';\n\nconst DOM: {\n [key: string]: (...arg: any[]) => any;\n} = {};\nexport default DOM;\n\nDOM.create = (tagName: string, className?: string, container?: HTMLElement) => {\n const el = window.document.createElement(tagName);\n if (className !== undefined) {\n el.className = className;\n }\n if (container) {\n container.appendChild(el);\n }\n return el;\n};\n\nDOM.createNS = (namespaceURI: string, tagName: string) => {\n const el = window.document.createElementNS(namespaceURI, tagName);\n return el;\n};\n\nconst docStyle = window.document && window.document.documentElement.style;\n\nfunction testProp(props: any) {\n if (!docStyle) {\n return props[0];\n }\n for (const i of props) {\n if (i in docStyle) {\n return i;\n }\n }\n return props[0];\n}\n\nconst selectProp = testProp([\n 'userSelect',\n 'MozUserSelect',\n 'WebkitUserSelect',\n 'msUserSelect',\n]);\nlet userSelect: any;\n\nDOM.disableDrag = () => {\n if (docStyle && selectProp) {\n userSelect = docStyle[selectProp];\n docStyle[selectProp] = 'none';\n }\n};\n\nDOM.enableDrag = () => {\n if (docStyle && selectProp) {\n docStyle[selectProp] = userSelect;\n }\n};\n\nconst transformProp = testProp(['transform', 'WebkitTransform']);\n\nDOM.setTransform = (el: HTMLElement, value: string) => {\n // https://github.com/facebook/flow/issues/7754\n // $FlowFixMe\n el.style[transformProp] = value;\n};\n\n// Feature detection for {passive: false} support in add/removeEventListener.\nlet passiveSupported = false;\n\ntry {\n // https://github.com/facebook/flow/issues/285\n // $FlowFixMe\n const options = Object.defineProperty({}, 'passive', {\n get() {\n // eslint-disable-line\n passiveSupported = true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n} catch (err) {\n passiveSupported = false;\n}\n\nDOM.addEventListener = (\n target: any,\n type: any,\n callback: any,\n options: { passive?: boolean; capture?: boolean } = {},\n) => {\n if ('passive' in options && passiveSupported) {\n target.addEventListener(type, callback, options);\n } else {\n target.addEventListener(type, callback, options.capture);\n }\n};\n\nDOM.removeEventListener = (\n target: any,\n type: any,\n callback: any,\n options: { passive?: boolean; capture?: boolean } = {},\n) => {\n if ('passive' in options && passiveSupported) {\n target.removeEventListener(type, callback, options);\n } else {\n target.removeEventListener(type, callback, options.capture);\n }\n};\n\n// Suppress the next click, but only if it's immediate.\nconst suppressClick = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n window.removeEventListener('click', suppressClick, true);\n};\n\nDOM.suppressClick = () => {\n window.addEventListener('click', suppressClick, true);\n window.setTimeout(() => {\n window.removeEventListener('click', suppressClick, true);\n }, 0);\n};\n\nDOM.mousePos = (el: HTMLElement, e: MouseEvent | Touch) => {\n const rect = el.getBoundingClientRect();\n return new Point(\n e.clientX - rect.left - el.clientLeft,\n e.clientY - rect.top - el.clientTop,\n );\n};\n\nDOM.touchPos = (el: HTMLElement, touches: Touch[]) => {\n const rect = el.getBoundingClientRect();\n const points = [];\n for (const touche of touches) {\n points.push(\n new Point(\n touche.clientX - rect.left - el.clientLeft,\n touche.clientY - rect.top - el.clientTop,\n ),\n );\n }\n return points;\n};\n\nDOM.mouseButton = (e: MouseEvent) => {\n if (\n // @ts-ignore\n typeof window.InstallTrigger !== 'undefined' &&\n e.button === 2 &&\n e.ctrlKey &&\n window.navigator.platform.toUpperCase().indexOf('MAC') >= 0\n ) {\n // Fix for https://github.com/mapbox/mapbox-gl-js/issues/3131:\n // Firefox (detected by InstallTrigger) on Mac determines e.button = 2 when\n // using Control + left click\n return 0;\n }\n return e.button;\n};\n\nDOM.remove = (node: HTMLElement) => {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n};\n"],"file":"dom.js"}
1
+ {"version":3,"sources":["../../src/utils/dom.ts"],"names":["DOM","create","tagName","className","container","el","$window","document","createElement","undefined","appendChild","createNS","namespaceURI","createElementNS","docStyle","documentElement","style","testProp","props","i","selectProp","userSelect","disableDrag","enableDrag","transformProp","setTransform","value","passiveSupported","options","Object","defineProperty","get","addEventListener","removeEventListener","err","target","type","callback","capture","suppressClick","e","preventDefault","stopPropagation","isMini","setTimeout","mousePos","rect","getBoundingClientRect","Point","clientX","left","clientLeft","clientY","top","clientTop","touchPos","touches","points","touche","push","mouseButton","button","InstallTrigger","ctrlKey","navigator","platform","toUpperCase","indexOf","remove","node","parentNode","removeChild"],"mappings":";;;;;;;;;AAAA;;AAEA;;;;;;;;AAEA,IAAMA,GAEL,GAAG,EAFJ;eAGeA,G;;;AAEfA,GAAG,CAACC,MAAJ,GAAa,UAACC,OAAD,EAAkBC,SAAlB,EAAsCC,SAAtC,EAAkE;AAC7E,MAAMC,EAAE,GAAGC,iBAAQC,QAAR,CAAiBC,aAAjB,CAA+BN,OAA/B,CAAX;;AACA,MAAIC,SAAS,KAAKM,SAAlB,EAA6B;AAC3BJ,IAAAA,EAAE,CAACF,SAAH,GAAeA,SAAf;AACD;;AACD,MAAIC,SAAJ,EAAe;AACbA,IAAAA,SAAS,CAACM,WAAV,CAAsBL,EAAtB;AACD;;AACD,SAAOA,EAAP;AACD,CATD;;AAWAL,GAAG,CAACW,QAAJ,GAAe,UAACC,YAAD,EAAuBV,OAAvB,EAA2C;AACxD,MAAMG,EAAE,GAAGC,iBAAQC,QAAR,CAAiBM,eAAjB,CACTD,YADS,EAETV,OAFS,CAAX;;AAIA,SAAOG,EAAP;AACD,CAND;;AAQA,IAAMS,QAAQ,GAAGR,iBAAQC,QAAR,IAAoBD,iBAAQC,QAAR,CAAiBQ,eAAjB,CAAiCC,KAAtE;;AAEA,SAASC,QAAT,CAAkBC,KAAlB,EAA8B;AAC5B,MAAI,CAACJ,QAAL,EAAe;AACb,WAAOI,KAAK,CAAC,CAAD,CAAZ;AACD;;AAH2B,6CAIZA,KAJY;AAAA;;AAAA;AAI5B,wDAAuB;AAAA,UAAZC,CAAY;;AACrB,UAAIA,CAAC,IAAIL,QAAT,EAAmB;AACjB,eAAOK,CAAP;AACD;AACF;AAR2B;AAAA;AAAA;AAAA;AAAA;;AAS5B,SAAOD,KAAK,CAAC,CAAD,CAAZ;AACD;;AAED,IAAME,UAAU,GAAGH,QAAQ,CAAC,CAC1B,YAD0B,EAE1B,eAF0B,EAG1B,kBAH0B,EAI1B,cAJ0B,CAAD,CAA3B;AAMA,IAAII,UAAJ;;AAEArB,GAAG,CAACsB,WAAJ,GAAkB,YAAM;AACtB,MAAIR,QAAQ,IAAIM,UAAhB,EAA4B;AAC1BC,IAAAA,UAAU,GAAGP,QAAQ,CAACM,UAAD,CAArB;AACAN,IAAAA,QAAQ,CAACM,UAAD,CAAR,GAAuB,MAAvB;AACD;AACF,CALD;;AAOApB,GAAG,CAACuB,UAAJ,GAAiB,YAAM;AACrB,MAAIT,QAAQ,IAAIM,UAAhB,EAA4B;AAC1BN,IAAAA,QAAQ,CAACM,UAAD,CAAR,GAAuBC,UAAvB;AACD;AACF,CAJD;;AAMA,IAAMG,aAAa,GAAGP,QAAQ,CAAC,CAAC,WAAD,EAAc,iBAAd,CAAD,CAA9B;;AAEAjB,GAAG,CAACyB,YAAJ,GAAmB,UAACpB,EAAD,EAAkBqB,KAAlB,EAAoC;AAGrDrB,EAAAA,EAAE,CAACW,KAAH,CAASQ,aAAT,IAA0BE,KAA1B;AACD,CAJD;;AAOA,IAAIC,gBAAgB,GAAG,KAAvB;;AAEA,IAAI;AAGF,MAAMC,OAAO,GAAGC,MAAM,CAACC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AACnDC,IAAAA,GADmD,iBAC7C;AAEJJ,MAAAA,gBAAgB,GAAG,IAAnB;AACD;AAJkD,GAArC,CAAhB;;AAOArB,mBAAQ0B,gBAAR,CAAyB,MAAzB,EAAiCJ,OAAjC,EAA0CA,OAA1C;;AAEAtB,mBAAQ2B,mBAAR,CAA4B,MAA5B,EAAoCL,OAApC,EAA6CA,OAA7C;AACD,CAbD,CAaE,OAAOM,GAAP,EAAY;AACZP,EAAAA,gBAAgB,GAAG,KAAnB;AACD;;AAED3B,GAAG,CAACgC,gBAAJ,GAAuB,UACrBG,MADqB,EAErBC,IAFqB,EAGrBC,QAHqB,EAKlB;AAAA,MADHT,OACG,uEADiD,EACjD;;AACH,MAAI,aAAaA,OAAb,IAAwBD,gBAA5B,EAA8C;AAC5CQ,IAAAA,MAAM,CAACH,gBAAP,CAAwBI,IAAxB,EAA8BC,QAA9B,EAAwCT,OAAxC;AACD,GAFD,MAEO;AACLO,IAAAA,MAAM,CAACH,gBAAP,CAAwBI,IAAxB,EAA8BC,QAA9B,EAAwCT,OAAO,CAACU,OAAhD;AACD;AACF,CAXD;;AAaAtC,GAAG,CAACiC,mBAAJ,GAA0B,UACxBE,MADwB,EAExBC,IAFwB,EAGxBC,QAHwB,EAKrB;AAAA,MADHT,OACG,uEADiD,EACjD;;AACH,MAAI,aAAaA,OAAb,IAAwBD,gBAA5B,EAA8C;AAC5CQ,IAAAA,MAAM,CAACF,mBAAP,CAA2BG,IAA3B,EAAiCC,QAAjC,EAA2CT,OAA3C;AACD,GAFD,MAEO;AACLO,IAAAA,MAAM,CAACF,mBAAP,CAA2BG,IAA3B,EAAiCC,QAAjC,EAA2CT,OAAO,CAACU,OAAnD;AACD;AACF,CAXD;;AAcA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAmB;AACvCA,EAAAA,CAAC,CAACC,cAAF;AACAD,EAAAA,CAAC,CAACE,eAAF;;AACApC,mBAAQ2B,mBAAR,CAA4B,OAA5B,EAAqCM,aAArC,EAAoD,IAApD;AACD,CAJD;;AAMAvC,GAAG,CAACuC,aAAJ,GAAoB,YAAM;AACxB,MAAII,eAAJ,EAAY;AACV;AACD;;AACDrC,mBAAQ0B,gBAAR,CAAyB,OAAzB,EAAkCO,aAAlC,EAAiD,IAAjD;;AACAK,EAAAA,UAAU,CAAC,YAAM;AACftC,qBAAQ2B,mBAAR,CAA4B,OAA5B,EAAqCM,aAArC,EAAoD,IAApD;AACD,GAFS,EAEP,CAFO,CAAV;AAGD,CARD;;AAUAvC,GAAG,CAAC6C,QAAJ,GAAe,UAACxC,EAAD,EAAkBmC,CAAlB,EAA4C;AAEzD,MAAI,CAACG,eAAL,EAAa;AACX,QAAMG,IAAI,GAAGzC,EAAE,CAAC0C,qBAAH,EAAb;AACA,WAAO,IAAIC,cAAJ,CACLR,CAAC,CAACS,OAAF,GAAYH,IAAI,CAACI,IAAjB,GAAwB7C,EAAE,CAAC8C,UADtB,EAELX,CAAC,CAACY,OAAF,GAAYN,IAAI,CAACO,GAAjB,GAAuBhD,EAAE,CAACiD,SAFrB,CAAP;AAID,GAND,MAMO;AACL,WAAO,IAAIN,cAAJ,CAELR,CAAC,CAACS,OAAF,GAAY5C,EAAE,CAAC6C,IAAf,GAAsB,CAFjB,EAILV,CAAC,CAACY,OAAF,GAAY/C,EAAE,CAACgD,GAAf,GAAqB,CAJhB,CAAP;AAMD;AACF,CAhBD;;AAkBArD,GAAG,CAACuD,QAAJ,GAAe,UAAClD,EAAD,EAAkBmD,OAAlB,EAAuC;AAEpD,MAAI,CAACb,eAAL,EAAa;AACX,QAAMG,IAAI,GAAGzC,EAAE,CAAC0C,qBAAH,EAAb;AACA,QAAMU,MAAM,GAAG,EAAf;;AAFW,gDAGUD,OAHV;AAAA;;AAAA;AAGX,6DAA8B;AAAA,YAAnBE,MAAmB;AAC5BD,QAAAA,MAAM,CAACE,IAAP,CACE,IAAIX,cAAJ,CACEU,MAAM,CAACT,OAAP,GAAiBH,IAAI,CAACI,IAAtB,GAA6B7C,EAAE,CAAC8C,UADlC,EAEEO,MAAM,CAACN,OAAP,GAAiBN,IAAI,CAACO,GAAtB,GAA4BhD,EAAE,CAACiD,SAFjC,CADF;AAMD;AAVU;AAAA;AAAA;AAAA;AAAA;;AAWX,WAAOG,MAAP;AACD,GAZD,MAYO;AACL,QAAMA,OAAM,GAAG,EAAf;;AADK,gDAEgBD,OAFhB;AAAA;;AAAA;AAEL,6DAA8B;AAAA,YAAnBE,OAAmB;;AAC5BD,QAAAA,OAAM,CAACE,IAAP,CACE,IAAIX,cAAJ,CAEEU,OAAM,CAACT,OAAP,GAAiB5C,EAAE,CAAC6C,IAFtB,EAIEQ,OAAM,CAACN,OAAP,GAAiB/C,EAAE,CAACgD,GAJtB,CADF;AAQD;AAXI;AAAA;AAAA;AAAA;AAAA;;AAYL,WAAOI,OAAP;AACD;AACF,CA5BD;;AA8BAzD,GAAG,CAAC4D,WAAJ,GAAkB,UAACpB,CAAD,EAAmB;AACnC,MAAI,CAACG,eAAL,EAAa;AACX,WAAOH,CAAC,CAACqB,MAAT;AACD;;AACD,MAEE,OAAOvD,iBAAQwD,cAAf,KAAkC,WAAlC,IACAtB,CAAC,CAACqB,MAAF,KAAa,CADb,IAEArB,CAAC,CAACuB,OAFF,IAGAzD,iBAAQ0D,SAAR,CAAkBC,QAAlB,CAA2BC,WAA3B,GAAyCC,OAAzC,CAAiD,KAAjD,KAA2D,CAL7D,EAME;AAIA,WAAO,CAAP;AACD;;AACD,SAAO3B,CAAC,CAACqB,MAAT;AACD,CAjBD;;AAmBA7D,GAAG,CAACoE,MAAJ,GAAa,UAACC,IAAD,EAAuB;AAClC,MAAIA,IAAI,CAACC,UAAT,EAAqB;AACnBD,IAAAA,IAAI,CAACC,UAAL,CAAgBC,WAAhB,CAA4BF,IAA5B;AACD;AACF,CAJD","sourcesContent":["import { $window, isMini } from '@antv/l7-utils';\n// @ts-ignore\nimport Point from '../geo/point';\n\nconst DOM: {\n [key: string]: (...arg: any[]) => any;\n} = {};\nexport default DOM;\n\nDOM.create = (tagName: string, className?: string, container?: HTMLElement) => {\n const el = $window.document.createElement(tagName) as HTMLElement;\n if (className !== undefined) {\n el.className = className;\n }\n if (container) {\n container.appendChild(el);\n }\n return el;\n};\n\nDOM.createNS = (namespaceURI: string, tagName: string) => {\n const el = $window.document.createElementNS(\n namespaceURI,\n tagName,\n ) as HTMLElement;\n return el;\n};\n\nconst docStyle = $window.document && $window.document.documentElement.style;\n\nfunction testProp(props: any) {\n if (!docStyle) {\n return props[0];\n }\n for (const i of props) {\n if (i in docStyle) {\n return i;\n }\n }\n return props[0];\n}\n\nconst selectProp = testProp([\n 'userSelect',\n 'MozUserSelect',\n 'WebkitUserSelect',\n 'msUserSelect',\n]);\nlet userSelect: any;\n\nDOM.disableDrag = () => {\n if (docStyle && selectProp) {\n userSelect = docStyle[selectProp];\n docStyle[selectProp] = 'none';\n }\n};\n\nDOM.enableDrag = () => {\n if (docStyle && selectProp) {\n docStyle[selectProp] = userSelect;\n }\n};\n\nconst transformProp = testProp(['transform', 'WebkitTransform']);\n\nDOM.setTransform = (el: HTMLElement, value: string) => {\n // https://github.com/facebook/flow/issues/7754\n // $FlowFixMe\n el.style[transformProp] = value;\n};\n\n// Feature detection for {passive: false} support in add/removeEventListener.\nlet passiveSupported = false;\n\ntry {\n // https://github.com/facebook/flow/issues/285\n // $FlowFixMe\n const options = Object.defineProperty({}, 'passive', {\n get() {\n // eslint-disable-line\n passiveSupported = true;\n },\n });\n // @ts-ignore\n $window.addEventListener('test', options, options);\n // @ts-ignore\n $window.removeEventListener('test', options, options);\n} catch (err) {\n passiveSupported = false;\n}\n\nDOM.addEventListener = (\n target: any,\n type: any,\n callback: any,\n options: { passive?: boolean; capture?: boolean } = {},\n) => {\n if ('passive' in options && passiveSupported) {\n target.addEventListener(type, callback, options);\n } else {\n target.addEventListener(type, callback, options.capture);\n }\n};\n\nDOM.removeEventListener = (\n target: any,\n type: any,\n callback: any,\n options: { passive?: boolean; capture?: boolean } = {},\n) => {\n if ('passive' in options && passiveSupported) {\n target.removeEventListener(type, callback, options);\n } else {\n target.removeEventListener(type, callback, options.capture);\n }\n};\n\n// Suppress the next click, but only if it's immediate.\nconst suppressClick = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n $window.removeEventListener('click', suppressClick, true);\n};\n\nDOM.suppressClick = () => {\n if (isMini) {\n return;\n }\n $window.addEventListener('click', suppressClick, true);\n setTimeout(() => {\n $window.removeEventListener('click', suppressClick, true);\n }, 0);\n};\n\nDOM.mousePos = (el: HTMLElement, e: MouseEvent | Touch) => {\n // 暂时从 el 上获取 top/left, 后面需要动态获取\n if (!isMini) {\n const rect = el.getBoundingClientRect();\n return new Point(\n e.clientX - rect.left - el.clientLeft,\n e.clientY - rect.top - el.clientTop,\n );\n } else {\n return new Point(\n // @ts-ignore\n e.clientX - el.left - 0,\n // @ts-ignore\n e.clientY - el.top - 0,\n );\n }\n};\n\nDOM.touchPos = (el: HTMLElement, touches: Touch[]) => {\n // 暂时从 el 上获取 top/left, 后面需要动态获取\n if (!isMini) {\n const rect = el.getBoundingClientRect();\n const points = [];\n for (const touche of touches) {\n points.push(\n new Point(\n touche.clientX - rect.left - el.clientLeft,\n touche.clientY - rect.top - el.clientTop,\n ),\n );\n }\n return points;\n } else {\n const points = [];\n for (const touche of touches) {\n points.push(\n new Point(\n // @ts-ignore\n touche.clientX - el.left,\n // @ts-ignore\n touche.clientY - el.top,\n ),\n );\n }\n return points;\n }\n};\n\nDOM.mouseButton = (e: MouseEvent) => {\n if (!isMini) {\n return e.button;\n }\n if (\n // @ts-ignore\n typeof $window.InstallTrigger !== 'undefined' &&\n e.button === 2 &&\n e.ctrlKey &&\n $window.navigator.platform.toUpperCase().indexOf('MAC') >= 0\n ) {\n // Fix for https://github.com/mapbox/mapbox-gl-js/issues/3131:\n // Firefox (detected by InstallTrigger) on Mac determines e.button = 2 when\n // using Control + left click\n return 0;\n }\n return e.button;\n};\n\nDOM.remove = (node: HTMLElement) => {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n};\n"],"file":"dom.js"}
@@ -4,11 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.PerformanceUtils = exports.PerformanceMarkers = void 0;
7
+
8
+ var _l7Utils = require("@antv/l7-utils");
9
+
7
10
  var lastFrameTime = null;
8
11
  var frameTimes = [];
9
12
  var minFramerateTarget = 30;
10
13
  var frameTimeTarget = 1000 / minFramerateTarget;
11
- var performance = window.performance;
14
+ var performance = _l7Utils.$window.performance;
12
15
  var PerformanceMarkers = {
13
16
  create: 'create',
14
17
  load: 'load',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/performance.ts"],"names":["lastFrameTime","frameTimes","minFramerateTarget","frameTimeTarget","performance","window","PerformanceMarkers","create","load","fullLoad","PerformanceUtils","mark","marker","frame","timestamp","currTimestamp","frameTime","push","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","loadTime","measure","duration","fullLoadTime","totalFrames","length","avgFrameTime","reduce","prev","curr","fps","droppedFrames","filter","acc","percentDroppedFrames"],"mappings":";;;;;;AAAA,IAAIA,aAA4B,GAAG,IAAnC;AACA,IAAIC,UAAoB,GAAG,EAA3B;AAEA,IAAMC,kBAAkB,GAAG,EAA3B;AACA,IAAMC,eAAe,GAAG,OAAOD,kBAA/B;AACA,IAAME,WAAW,GAAGC,MAAM,CAACD,WAA3B;AASO,IAAME,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAE,QADwB;AAEhCC,EAAAA,IAAI,EAAE,MAF0B;AAGhCC,EAAAA,QAAQ,EAAE;AAHsB,CAA3B;;AAMA,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAD8B,gBACzBC,MADyB,EACT;AACnBR,IAAAA,WAAW,CAACO,IAAZ,CAAiBC,MAAjB;AACD,GAH6B;AAI9BC,EAAAA,KAJ8B,iBAIxBC,SAJwB,EAIL;AACvB,QAAMC,aAAa,GAAGD,SAAtB;;AACA,QAAId,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAMgB,SAAS,GAAGD,aAAa,GAAGf,aAAlC;AACAC,MAAAA,UAAU,CAACgB,IAAX,CAAgBD,SAAhB;AACD;;AACDhB,IAAAA,aAAa,GAAGe,aAAhB;AACD,GAX6B;AAY9BG,EAAAA,YAZ8B,0BAYf;AACblB,IAAAA,aAAa,GAAG,IAAhB;AACAC,IAAAA,UAAU,GAAG,EAAb;AACAG,IAAAA,WAAW,CAACe,aAAZ,CAA0B,UAA1B;AACAf,IAAAA,WAAW,CAACe,aAAZ,CAA0B,cAA1B;;AAGA,SAAK,IAAMP,MAAX,IAAqBN,kBAArB,EAAyC;AAEvCF,MAAAA,WAAW,CAACgB,UAAZ,CAAuBd,kBAAkB,CAACM,MAAD,CAAzC;AACD;AACF,GAvB6B;AAwB9BS,EAAAA,qBAxB8B,mCAwBe;AAC3C,QAAMC,QAAQ,GAAGlB,WAAW,CAACmB,OAAZ,CACf,UADe,EAEfjB,kBAAkB,CAACC,MAFJ,EAGfD,kBAAkB,CAACE,IAHJ,EAKfgB,QALF;AAOA,QAAMC,YAAY,GAAGrB,WAAW,CAACmB,OAAZ,CACnB,cADmB,EAEnBjB,kBAAkB,CAACC,MAFA,EAGnBD,kBAAkB,CAACG,QAHA,EAKnBe,QALF;AAMA,QAAME,WAAW,GAAGzB,UAAU,CAAC0B,MAA/B;AAEA,QAAMC,YAAY,GAChB3B,UAAU,CAAC4B,MAAX,CAAkB,UAACC,IAAD,EAAOC,IAAP;AAAA,aAAgBD,IAAI,GAAGC,IAAvB;AAAA,KAAlB,EAA+C,CAA/C,IAAoDL,WAApD,GAAkE,IADpE;AAEA,QAAMM,GAAG,GAAG,IAAIJ,YAAhB;AAGA,QAAMK,aAAa,GAAGhC,UAAU,CAC7BiC,MADmB,CACZ,UAAClB,SAAD;AAAA,aAAeA,SAAS,GAAGb,eAA3B;AAAA,KADY,EAEnB0B,MAFmB,CAEZ,UAACM,GAAD,EAAMJ,IAAN,EAAe;AACrB,aAAOI,GAAG,GAAG,CAACJ,IAAI,GAAG5B,eAAR,IAA2BA,eAAxC;AACD,KAJmB,EAIjB,CAJiB,CAAtB;AAKA,QAAMiC,oBAAoB,GACvBH,aAAa,IAAIP,WAAW,GAAGO,aAAlB,CAAd,GAAkD,GADpD;AAGA,WAAO;AACLX,MAAAA,QAAQ,EAARA,QADK;AAELG,MAAAA,YAAY,EAAZA,YAFK;AAGLO,MAAAA,GAAG,EAAHA,GAHK;AAILI,MAAAA,oBAAoB,EAApBA;AAJK,KAAP;AAMD;AA3D6B,CAAzB","sourcesContent":["let lastFrameTime: number | null = null;\nlet frameTimes: number[] = [];\n\nconst minFramerateTarget = 30;\nconst frameTimeTarget = 1000 / minFramerateTarget;\nconst performance = window.performance;\n\nexport interface IPerformanceMetrics {\n loadTime: number;\n fullLoadTime: number;\n fps: number;\n percentDroppedFrames: number;\n}\n\nexport const PerformanceMarkers = {\n create: 'create',\n load: 'load',\n fullLoad: 'fullLoad',\n};\n\nexport const PerformanceUtils = {\n mark(marker: string) {\n performance.mark(marker);\n },\n frame(timestamp: number) {\n const currTimestamp = timestamp;\n if (lastFrameTime != null) {\n const frameTime = currTimestamp - lastFrameTime;\n frameTimes.push(frameTime);\n }\n lastFrameTime = currTimestamp;\n },\n clearMetrics() {\n lastFrameTime = null;\n frameTimes = [];\n performance.clearMeasures('loadTime');\n performance.clearMeasures('fullLoadTime');\n // @ts-ignore\n // tslint:disable-next-line:forin\n for (const marker in PerformanceMarkers) {\n // @ts-ignore\n performance.clearMarks(PerformanceMarkers[marker]);\n }\n },\n getPerformanceMetrics(): IPerformanceMetrics {\n const loadTime = performance.measure(\n 'loadTime',\n PerformanceMarkers.create,\n PerformanceMarkers.load,\n // @ts-ignore\n ).duration;\n\n const fullLoadTime = performance.measure(\n 'fullLoadTime',\n PerformanceMarkers.create,\n PerformanceMarkers.fullLoad,\n // @ts-ignore\n ).duration;\n const totalFrames = frameTimes.length;\n\n const avgFrameTime =\n frameTimes.reduce((prev, curr) => prev + curr, 0) / totalFrames / 1000;\n const fps = 1 / avgFrameTime;\n\n // count frames that missed our framerate target\n const droppedFrames = frameTimes\n .filter((frameTime) => frameTime > frameTimeTarget)\n .reduce((acc, curr) => {\n return acc + (curr - frameTimeTarget) / frameTimeTarget;\n }, 0);\n const percentDroppedFrames =\n (droppedFrames / (totalFrames + droppedFrames)) * 100;\n\n return {\n loadTime,\n fullLoadTime,\n fps,\n percentDroppedFrames,\n };\n },\n};\n"],"file":"performance.js"}
1
+ {"version":3,"sources":["../../src/utils/performance.ts"],"names":["lastFrameTime","frameTimes","minFramerateTarget","frameTimeTarget","performance","$window","PerformanceMarkers","create","load","fullLoad","PerformanceUtils","mark","marker","frame","timestamp","currTimestamp","frameTime","push","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","loadTime","measure","duration","fullLoadTime","totalFrames","length","avgFrameTime","reduce","prev","curr","fps","droppedFrames","filter","acc","percentDroppedFrames"],"mappings":";;;;;;;AAAA;;AACA,IAAIA,aAA4B,GAAG,IAAnC;AACA,IAAIC,UAAoB,GAAG,EAA3B;AAEA,IAAMC,kBAAkB,GAAG,EAA3B;AACA,IAAMC,eAAe,GAAG,OAAOD,kBAA/B;AACA,IAAME,WAAW,GAAGC,iBAAQD,WAA5B;AASO,IAAME,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAE,QADwB;AAEhCC,EAAAA,IAAI,EAAE,MAF0B;AAGhCC,EAAAA,QAAQ,EAAE;AAHsB,CAA3B;;AAMA,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAD8B,gBACzBC,MADyB,EACT;AACnBR,IAAAA,WAAW,CAACO,IAAZ,CAAiBC,MAAjB;AACD,GAH6B;AAI9BC,EAAAA,KAJ8B,iBAIxBC,SAJwB,EAIL;AACvB,QAAMC,aAAa,GAAGD,SAAtB;;AACA,QAAId,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAMgB,SAAS,GAAGD,aAAa,GAAGf,aAAlC;AACAC,MAAAA,UAAU,CAACgB,IAAX,CAAgBD,SAAhB;AACD;;AACDhB,IAAAA,aAAa,GAAGe,aAAhB;AACD,GAX6B;AAY9BG,EAAAA,YAZ8B,0BAYf;AACblB,IAAAA,aAAa,GAAG,IAAhB;AACAC,IAAAA,UAAU,GAAG,EAAb;AACAG,IAAAA,WAAW,CAACe,aAAZ,CAA0B,UAA1B;AACAf,IAAAA,WAAW,CAACe,aAAZ,CAA0B,cAA1B;;AAGA,SAAK,IAAMP,MAAX,IAAqBN,kBAArB,EAAyC;AAEvCF,MAAAA,WAAW,CAACgB,UAAZ,CAAuBd,kBAAkB,CAACM,MAAD,CAAzC;AACD;AACF,GAvB6B;AAwB9BS,EAAAA,qBAxB8B,mCAwBe;AAC3C,QAAMC,QAAQ,GAAGlB,WAAW,CAACmB,OAAZ,CACf,UADe,EAEfjB,kBAAkB,CAACC,MAFJ,EAGfD,kBAAkB,CAACE,IAHJ,EAKfgB,QALF;AAOA,QAAMC,YAAY,GAAGrB,WAAW,CAACmB,OAAZ,CACnB,cADmB,EAEnBjB,kBAAkB,CAACC,MAFA,EAGnBD,kBAAkB,CAACG,QAHA,EAKnBe,QALF;AAMA,QAAME,WAAW,GAAGzB,UAAU,CAAC0B,MAA/B;AAEA,QAAMC,YAAY,GAChB3B,UAAU,CAAC4B,MAAX,CAAkB,UAACC,IAAD,EAAOC,IAAP;AAAA,aAAgBD,IAAI,GAAGC,IAAvB;AAAA,KAAlB,EAA+C,CAA/C,IAAoDL,WAApD,GAAkE,IADpE;AAEA,QAAMM,GAAG,GAAG,IAAIJ,YAAhB;AAGA,QAAMK,aAAa,GAAGhC,UAAU,CAC7BiC,MADmB,CACZ,UAAClB,SAAD;AAAA,aAAeA,SAAS,GAAGb,eAA3B;AAAA,KADY,EAEnB0B,MAFmB,CAEZ,UAACM,GAAD,EAAMJ,IAAN,EAAe;AACrB,aAAOI,GAAG,GAAG,CAACJ,IAAI,GAAG5B,eAAR,IAA2BA,eAAxC;AACD,KAJmB,EAIjB,CAJiB,CAAtB;AAKA,QAAMiC,oBAAoB,GACvBH,aAAa,IAAIP,WAAW,GAAGO,aAAlB,CAAd,GAAkD,GADpD;AAGA,WAAO;AACLX,MAAAA,QAAQ,EAARA,QADK;AAELG,MAAAA,YAAY,EAAZA,YAFK;AAGLO,MAAAA,GAAG,EAAHA,GAHK;AAILI,MAAAA,oBAAoB,EAApBA;AAJK,KAAP;AAMD;AA3D6B,CAAzB","sourcesContent":["import { $window } from '@antv/l7-utils';\nlet lastFrameTime: number | null = null;\nlet frameTimes: number[] = [];\n\nconst minFramerateTarget = 30;\nconst frameTimeTarget = 1000 / minFramerateTarget;\nconst performance = $window.performance;\n\nexport interface IPerformanceMetrics {\n loadTime: number;\n fullLoadTime: number;\n fps: number;\n percentDroppedFrames: number;\n}\n\nexport const PerformanceMarkers = {\n create: 'create',\n load: 'load',\n fullLoad: 'fullLoad',\n};\n\nexport const PerformanceUtils = {\n mark(marker: string) {\n performance.mark(marker);\n },\n frame(timestamp: number) {\n const currTimestamp = timestamp;\n if (lastFrameTime != null) {\n const frameTime = currTimestamp - lastFrameTime;\n frameTimes.push(frameTime);\n }\n lastFrameTime = currTimestamp;\n },\n clearMetrics() {\n lastFrameTime = null;\n frameTimes = [];\n performance.clearMeasures('loadTime');\n performance.clearMeasures('fullLoadTime');\n // @ts-ignore\n // tslint:disable-next-line:forin\n for (const marker in PerformanceMarkers) {\n // @ts-ignore\n performance.clearMarks(PerformanceMarkers[marker]);\n }\n },\n getPerformanceMetrics(): IPerformanceMetrics {\n const loadTime = performance.measure(\n 'loadTime',\n PerformanceMarkers.create,\n PerformanceMarkers.load,\n // @ts-ignore\n ).duration;\n\n const fullLoadTime = performance.measure(\n 'fullLoadTime',\n PerformanceMarkers.create,\n PerformanceMarkers.fullLoad,\n // @ts-ignore\n ).duration;\n const totalFrames = frameTimes.length;\n\n const avgFrameTime =\n frameTimes.reduce((prev, curr) => prev + curr, 0) / totalFrames / 1000;\n const fps = 1 / avgFrameTime;\n\n // count frames that missed our framerate target\n const droppedFrames = frameTimes\n .filter((frameTime) => frameTime > frameTimeTarget)\n .reduce((acc, curr) => {\n return acc + (curr - frameTimeTarget) / frameTimeTarget;\n }, 0);\n const percentDroppedFrames =\n (droppedFrames / (totalFrames + droppedFrames)) * 100;\n\n return {\n loadTime,\n fullLoadTime,\n fps,\n percentDroppedFrames,\n };\n },\n};\n"],"file":"performance.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-map",
3
- "version": "2.5.39",
3
+ "version": "2.5.43",
4
4
  "description": "l7 map",
5
5
  "keywords": [],
6
6
  "author": "thinkinggis <lzx199065@gmail.com>",
@@ -37,12 +37,12 @@
37
37
  },
38
38
  "homepage": "https://github.com/antvis/L7#readme",
39
39
  "dependencies": {
40
- "@antv/l7-utils": "^2.5.39",
40
+ "@antv/l7-utils": "^2.5.43",
41
41
  "@babel/runtime": "^7.7.7",
42
42
  "@mapbox/point-geometry": "^0.1.0",
43
43
  "@mapbox/unitbezier": "^0.0.0",
44
44
  "eventemitter3": "^4.0.4",
45
45
  "lodash": "^4.17.15"
46
46
  },
47
- "gitHead": "b86055f322aa2ae6d996b331b087878bbf6f4fb0"
47
+ "gitHead": "ca05f04c301dccc7092596852395fc3a00487e0a"
48
48
  }