@antv/l7-map 2.5.42 → 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 (43) hide show
  1. package/es/camera.js.map +1 -1
  2. package/es/earthmap.d.ts +0 -1
  3. package/es/earthmap.js +7 -26
  4. package/es/earthmap.js.map +1 -1
  5. package/es/handler/handler_manager.js +53 -33
  6. package/es/handler/handler_manager.js.map +1 -1
  7. package/es/handler/shim/drag_pan.js +9 -2
  8. package/es/handler/shim/drag_pan.js.map +1 -1
  9. package/es/handler/shim/touch_zoom_rotate.js +9 -2
  10. package/es/handler/shim/touch_zoom_rotate.js.map +1 -1
  11. package/es/hash.d.ts +1 -2
  12. package/es/hash.js +5 -4
  13. package/es/hash.js.map +1 -1
  14. package/es/interface.d.ts +1 -0
  15. package/es/map.d.ts +4 -1
  16. package/es/map.js +40 -20
  17. package/es/map.js.map +1 -1
  18. package/es/util.js +6 -5
  19. package/es/util.js.map +1 -1
  20. package/es/utils/dom.js +60 -26
  21. package/es/utils/dom.js.map +1 -1
  22. package/es/utils/performance.js +2 -1
  23. package/es/utils/performance.js.map +1 -1
  24. package/lib/camera.js.map +1 -1
  25. package/lib/earthmap.js +7 -26
  26. package/lib/earthmap.js.map +1 -1
  27. package/lib/handler/handler_manager.js +55 -33
  28. package/lib/handler/handler_manager.js.map +1 -1
  29. package/lib/handler/shim/drag_pan.js +10 -2
  30. package/lib/handler/shim/drag_pan.js.map +1 -1
  31. package/lib/handler/shim/touch_zoom_rotate.js +10 -2
  32. package/lib/handler/shim/touch_zoom_rotate.js.map +1 -1
  33. package/lib/hash.js +9 -4
  34. package/lib/hash.js.map +1 -1
  35. package/lib/map.js +39 -19
  36. package/lib/map.js.map +1 -1
  37. package/lib/util.js +7 -5
  38. package/lib/util.js.map +1 -1
  39. package/lib/utils/dom.js +66 -26
  40. package/lib/utils/dom.js.map +1 -1
  41. package/lib/utils/performance.js +4 -1
  42. package/lib/utils/performance.js.map +1 -1
  43. package/package.json +3 -3
package/es/map.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/map.ts"],"names":["DOM","Camera","LngLat","LngLatBounds","Point","HandlerManager","Hash","renderframe","PerformanceUtils","TaskQueue","defaultMinZoom","defaultMaxZoom","defaultMinPitch","defaultMaxPitch","DefaultOptions","hash","zoom","center","pitch","bearing","interactive","minZoom","maxZoom","minPitch","maxPitch","scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","touchPitch","bearingSnap","clickTolerance","pitchWithRotate","trackResize","renderWorldCopies","Map","options","update","event","resize","originalEvent","initContainer","handlers","window","addEventListener","onWindowOnline","onWindowResize","hashName","undefined","addTo","onHashChange","jumpTo","bounds","fitBounds","fitBoundsOptions","duration","eventData","dimensions","containerDimensions","width","height","transform","fireMoving","moving","stop","emit","Event","container","canvas","canvasContainer","lngLat","locationPoint","convert","point","pointLocation","getBounds","getMaxBounds","setMaxBounds","style","getZoom","setZoom","Error","getPitch","setPitch","frame","cancel","renderTaskQueue","clear","cb","add","id","remove","paintStartTimeStamp","time","run","document","getElementById","HTMLElement","classList","create","clientWidth","clientHeight","pixelRatio","DPR"],"mappings":"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","sourcesContent":["import { DOM } from '@antv/l7-utils';\nimport { merge } from 'lodash';\nimport Camera from './camera';\nimport './css/l7.css';\nimport LngLat, { LngLatLike } from './geo/lng_lat';\nimport LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';\n// @ts-ignore\nimport Point, { PointLike } from './geo/point';\nimport BoxZoomHandler from './handler/box_zoom';\nimport HandlerManager from './handler/handler_manager';\nimport KeyboardHandler from './handler/keyboard';\n\nimport ScrollZoomHandler from './handler/scroll_zoom';\nimport DoubleClickZoomHandler from './handler/shim/dblclick_zoom';\nimport DragPanHandler from './handler/shim/drag_pan';\nimport DragRotateHandler from './handler/shim/drag_rotate';\nimport TouchZoomRotateHandler from './handler/shim/touch_zoom_rotate';\nimport { TouchPitchHandler } from './handler/touch';\nimport Hash from './hash';\nimport { IMapOptions } from './interface';\nimport { renderframe } from './util';\nimport { PerformanceUtils } from './utils/performance';\nimport TaskQueue, { TaskID } from './utils/task_queue';\ntype CallBack = (_: number) => void;\nconst defaultMinZoom = -2;\nconst defaultMaxZoom = 22;\n\n// the default values, but also the valid range\nconst defaultMinPitch = 0;\nconst defaultMaxPitch = 60;\n\nconst DefaultOptions: IMapOptions = {\n hash: false,\n zoom: -1,\n center: [112, 32],\n pitch: 0,\n bearing: 0,\n interactive: true,\n minZoom: defaultMinZoom,\n maxZoom: defaultMaxZoom,\n minPitch: defaultMinPitch,\n maxPitch: defaultMaxPitch,\n scrollZoom: true,\n boxZoom: true,\n dragRotate: true,\n dragPan: true,\n keyboard: true,\n doubleClickZoom: true,\n touchZoomRotate: true,\n touchPitch: true,\n bearingSnap: 7,\n clickTolerance: 3,\n pitchWithRotate: true,\n trackResize: true,\n renderWorldCopies: true,\n};\nexport class Map extends Camera {\n public doubleClickZoom: DoubleClickZoomHandler;\n public dragRotate: DragRotateHandler;\n public dragPan: DragPanHandler;\n public touchZoomRotate: TouchZoomRotateHandler;\n public scrollZoom: ScrollZoomHandler;\n public keyboard: KeyboardHandler;\n public touchPitch: TouchPitchHandler;\n public boxZoom: BoxZoomHandler;\n public handlers: HandlerManager;\n\n private container: HTMLElement;\n private canvas: HTMLCanvasElement;\n private canvasContainer: HTMLElement;\n private renderTaskQueue: TaskQueue = new TaskQueue();\n private frame: { cancel: () => void } | null;\n private trackResize: boolean = true;\n private hash: Hash | undefined;\n constructor(options: Partial<IMapOptions>) {\n super(merge({}, DefaultOptions, options));\n this.initContainer();\n this.resize();\n this.handlers = new HandlerManager(this, this.options);\n // this.on('move', () => this.update());\n // this.on('moveend', () => this.update());\n // this.on('zoom', () => {\n // console.log('zoom');\n // });\n\n if (typeof window !== 'undefined') {\n window.addEventListener('online', this.onWindowOnline, false);\n window.addEventListener('resize', this.onWindowResize, false);\n window.addEventListener('orientationchange', this.onWindowResize, false);\n }\n\n const hashName =\n (typeof options.hash === 'string' && options.hash) || undefined;\n if (options.hash) {\n this.hash = new Hash(hashName).addTo(this) as Hash;\n }\n\n // don't set position from options if set through hash\n if (!this.hash || !this.hash.onHashChange()) {\n this.jumpTo({\n center: options.center,\n zoom: options.zoom,\n bearing: options.bearing,\n pitch: options.pitch,\n });\n\n if (options.bounds) {\n this.resize();\n this.fitBounds(\n options.bounds,\n merge({}, options.fitBoundsOptions, { duration: 0 }),\n );\n }\n }\n }\n\n public resize(eventData?: any) {\n const dimensions = this.containerDimensions();\n const width = dimensions[0];\n const height = dimensions[1];\n\n // this.resizeCanvas(width, height);\n this.transform.resize(width, height);\n const fireMoving = !this.moving;\n if (fireMoving) {\n this.stop();\n this.emit('movestart', new Event('movestart', eventData));\n this.emit('move', new Event('move', eventData));\n }\n\n this.emit('resize', new Event('resize', eventData));\n\n if (fireMoving) {\n this.emit('moveend', new Event('moveend', eventData));\n }\n\n return this;\n }\n\n public getContainer() {\n return this.container;\n }\n\n public getCanvas() {\n return this.canvas;\n }\n\n public getCanvasContainer() {\n return this.canvasContainer;\n }\n\n public project(lngLat: LngLatLike) {\n return this.transform.locationPoint(LngLat.convert(lngLat));\n }\n\n public unproject(point: PointLike) {\n return this.transform.pointLocation(Point.convert(point));\n }\n\n public getBounds(): LngLatBounds {\n return this.transform.getBounds();\n }\n\n public getMaxBounds(): LngLatBounds | null {\n return this.transform.getMaxBounds();\n }\n\n public setMaxBounds(bounds: LngLatBoundsLike) {\n this.transform.setMaxBounds(LngLatBounds.convert(bounds));\n }\n\n public setStyle(style: any) {\n return;\n }\n public setMinZoom(minZoom?: number) {\n minZoom =\n minZoom === null || minZoom === undefined ? defaultMinZoom : minZoom;\n if (minZoom >= defaultMinZoom && minZoom <= this.transform.maxZoom) {\n this.transform.minZoom = minZoom;\n if (this.getZoom() < minZoom) {\n this.setZoom(minZoom);\n }\n\n return this;\n } else {\n throw new Error(\n `minZoom must be between ${defaultMinZoom} and the current maxZoom, inclusive`,\n );\n }\n }\n\n public getMinZoom() {\n return this.transform.minZoom;\n }\n\n public setMaxZoom(maxZoom?: number) {\n maxZoom =\n maxZoom === null || maxZoom === undefined ? defaultMaxZoom : maxZoom;\n\n if (maxZoom >= this.transform.minZoom) {\n this.transform.maxZoom = maxZoom;\n if (this.getZoom() > maxZoom) {\n this.setZoom(maxZoom);\n }\n\n return this;\n } else {\n throw new Error('maxZoom must be greater than the current minZoom');\n }\n }\n public getMaxZoom() {\n return this.transform.maxZoom;\n }\n\n public setMinPitch(minPitch?: number) {\n minPitch =\n minPitch === null || minPitch === undefined ? defaultMinPitch : minPitch;\n\n if (minPitch < defaultMinPitch) {\n throw new Error(\n `minPitch must be greater than or equal to ${defaultMinPitch}`,\n );\n }\n\n if (minPitch >= defaultMinPitch && minPitch <= this.transform.maxPitch) {\n this.transform.minPitch = minPitch;\n if (this.getPitch() < minPitch) {\n this.setPitch(minPitch);\n }\n\n return this;\n } else {\n throw new Error(\n `minPitch must be between ${defaultMinPitch} and the current maxPitch, inclusive`,\n );\n }\n }\n\n public getMinPitch() {\n return this.transform.minPitch;\n }\n\n public setMaxPitch(maxPitch?: number) {\n maxPitch =\n maxPitch === null || maxPitch === undefined ? defaultMaxPitch : maxPitch;\n\n if (maxPitch > defaultMaxPitch) {\n throw new Error(\n `maxPitch must be less than or equal to ${defaultMaxPitch}`,\n );\n }\n\n if (maxPitch >= this.transform.minPitch) {\n this.transform.maxPitch = maxPitch;\n if (this.getPitch() > maxPitch) {\n this.setPitch(maxPitch);\n }\n\n return this;\n } else {\n throw new Error('maxPitch must be greater than the current minPitch');\n }\n }\n\n public getMaxPitch() {\n return this.transform.maxPitch;\n }\n\n public getRenderWorldCopies() {\n return this.transform.renderWorldCopies;\n }\n\n public setRenderWorldCopies(renderWorldCopies?: boolean) {\n this.transform.renderWorldCopies = !!renderWorldCopies;\n }\n\n public remove() {\n if (this.frame) {\n this.frame.cancel();\n this.frame = null;\n }\n this.renderTaskQueue.clear();\n }\n\n public requestRenderFrame(cb: CallBack): TaskID {\n this.update();\n return this.renderTaskQueue.add(cb);\n }\n\n public cancelRenderFrame(id: TaskID) {\n return this.renderTaskQueue.remove(id);\n }\n\n public triggerRepaint() {\n if (!this.frame) {\n this.frame = renderframe((paintStartTimeStamp: number) => {\n PerformanceUtils.frame(paintStartTimeStamp);\n this.frame = null;\n this.update(paintStartTimeStamp);\n });\n }\n }\n\n public update(time?: number) {\n if (!this.frame) {\n this.frame = renderframe((paintStartTimeStamp: number) => {\n PerformanceUtils.frame(paintStartTimeStamp);\n this.frame = null;\n this.renderTaskQueue.run(time);\n });\n }\n }\n\n private initContainer() {\n if (typeof this.options.container === 'string') {\n this.container = window.document.getElementById(\n this.options.container,\n ) as HTMLElement;\n if (!this.container) {\n throw new Error(`Container '${this.options.container}' not found.`);\n }\n } else if (this.options.container instanceof HTMLElement) {\n this.container = this.options.container;\n } else {\n throw new Error(\n \"Invalid type: 'container' must be a String or HTMLElement.\",\n );\n }\n\n const container = this.container;\n container.classList.add('l7-map');\n\n const canvasContainer = (this.canvasContainer = DOM.create(\n 'div',\n 'l7-canvas-container',\n container,\n ));\n if (this.options.interactive) {\n canvasContainer.classList.add('l7-interactive');\n }\n\n // this.canvas = DOM.create(\n // 'canvas',\n // 'l7-canvas',\n // canvasContainer,\n // ) as HTMLCanvasElement;\n // this.canvas.setAttribute('tabindex', '-');\n // this.canvas.setAttribute('aria-label', 'Map');\n }\n\n private containerDimensions(): [number, number] {\n let width = 0;\n let height = 0;\n if (this.container) {\n width = this.container.clientWidth || 400;\n height = this.container.clientHeight || 300;\n }\n return [width, height];\n }\n\n private resizeCanvas(width: number, height: number) {\n const pixelRatio = DOM.DPR || 1;\n this.canvas.width = pixelRatio * width;\n this.canvas.height = pixelRatio * height;\n\n // Maintain the same canvas size, potentially downscaling it for HiDPI displays\n this.canvas.style.width = `${width}px`;\n this.canvas.style.height = `${height}px`;\n }\n\n private onWindowOnline = () => {\n this.update();\n };\n\n private onWindowResize = (event: Event) => {\n if (this.trackResize) {\n this.resize({ originalEvent: event }).update();\n }\n };\n}\n"],"file":"map.js"}
1
+ {"version":3,"sources":["../src/map.ts"],"names":["$window","DOM","isMini","Camera","LngLat","LngLatBounds","Point","HandlerManager","Hash","renderframe","PerformanceUtils","TaskQueue","defaultMinZoom","defaultMaxZoom","defaultMinPitch","defaultMaxPitch","DefaultOptions","hash","zoom","center","pitch","bearing","interactive","minZoom","maxZoom","minPitch","maxPitch","scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","touchPitch","bearingSnap","clickTolerance","pitchWithRotate","trackResize","renderWorldCopies","Map","options","update","event","resize","originalEvent","initMiniContainer","initContainer","handlers","window","addEventListener","onWindowOnline","onWindowResize","hashName","undefined","addTo","onHashChange","jumpTo","bounds","fitBounds","fitBoundsOptions","duration","eventData","dimensions","containerDimensions","width","height","transform","fireMoving","moving","stop","emit","Event","container","canvas","canvasContainer","lngLat","locationPoint","convert","point","pointLocation","getBounds","getMaxBounds","setMaxBounds","style","getZoom","setZoom","Error","getPitch","setPitch","frame","cancel","renderTaskQueue","clear","cb","add","id","remove","paintStartTimeStamp","time","run","document","getElementById","HTMLElement","classList","create","clientWidth","clientHeight"],"mappings":"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","sourcesContent":["import { $window, DOM, isMini } from '@antv/l7-utils';\nimport { merge } from 'lodash';\nimport Camera from './camera';\nimport './css/l7.css';\nimport LngLat, { LngLatLike } from './geo/lng_lat';\nimport LngLatBounds, { LngLatBoundsLike } from './geo/lng_lat_bounds';\n// @ts-ignore\nimport Point, { PointLike } from './geo/point';\nimport BoxZoomHandler from './handler/box_zoom';\nimport HandlerManager from './handler/handler_manager';\nimport KeyboardHandler from './handler/keyboard';\n\nimport ScrollZoomHandler from './handler/scroll_zoom';\nimport DoubleClickZoomHandler from './handler/shim/dblclick_zoom';\nimport DragPanHandler from './handler/shim/drag_pan';\nimport DragRotateHandler from './handler/shim/drag_rotate';\nimport TouchZoomRotateHandler from './handler/shim/touch_zoom_rotate';\nimport { TouchPitchHandler } from './handler/touch';\nimport Hash from './hash';\nimport { IMapOptions } from './interface';\nimport { renderframe } from './util';\nimport { PerformanceUtils } from './utils/performance';\nimport TaskQueue, { TaskID } from './utils/task_queue';\ntype CallBack = (_: number) => void;\nconst defaultMinZoom = -2;\nconst defaultMaxZoom = 22;\n\n// the default values, but also the valid range\nconst defaultMinPitch = 0;\nconst defaultMaxPitch = 60;\n\nconst DefaultOptions: IMapOptions = {\n hash: false,\n zoom: -1,\n center: [112, 32],\n pitch: 0,\n bearing: 0,\n interactive: true,\n minZoom: defaultMinZoom,\n maxZoom: defaultMaxZoom,\n minPitch: defaultMinPitch,\n maxPitch: defaultMaxPitch,\n scrollZoom: true,\n boxZoom: true,\n dragRotate: true,\n dragPan: true,\n keyboard: true,\n doubleClickZoom: true,\n touchZoomRotate: true,\n touchPitch: true,\n bearingSnap: 7,\n clickTolerance: 3,\n pitchWithRotate: true,\n trackResize: true,\n renderWorldCopies: true,\n};\nexport class Map extends Camera {\n public doubleClickZoom: DoubleClickZoomHandler;\n public dragRotate: DragRotateHandler;\n public dragPan: DragPanHandler;\n public touchZoomRotate: TouchZoomRotateHandler;\n public scrollZoom: ScrollZoomHandler;\n public keyboard: KeyboardHandler;\n public touchPitch: TouchPitchHandler;\n public boxZoom: BoxZoomHandler;\n public handlers: HandlerManager;\n\n private container: HTMLElement;\n private canvas: HTMLCanvasElement;\n private canvasContainer: HTMLElement;\n private renderTaskQueue: TaskQueue = new TaskQueue();\n private frame: { cancel: () => void } | null;\n private trackResize: boolean = true;\n private hash: Hash | undefined;\n constructor(options: Partial<IMapOptions>) {\n super(merge({}, DefaultOptions, options));\n if (isMini) {\n this.initMiniContainer();\n } else {\n this.initContainer();\n }\n\n this.resize();\n this.handlers = new HandlerManager(this, this.options);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('online', this.onWindowOnline, false);\n window.addEventListener('resize', this.onWindowResize, false);\n window.addEventListener('orientationchange', this.onWindowResize, false);\n }\n\n if (!isMini) {\n const hashName =\n (typeof options.hash === 'string' && options.hash) || undefined;\n if (options.hash) {\n this.hash = new Hash(hashName).addTo(this) as Hash;\n }\n }\n\n // don't set position from options if set through hash\n if (!this.hash || !this.hash.onHashChange()) {\n this.jumpTo({\n center: options.center,\n zoom: options.zoom,\n bearing: options.bearing,\n pitch: options.pitch,\n });\n\n if (options.bounds) {\n this.resize();\n this.fitBounds(\n options.bounds,\n merge({}, options.fitBoundsOptions, { duration: 0 }),\n );\n }\n }\n }\n\n public resize(eventData?: any) {\n const dimensions = this.containerDimensions();\n const width = dimensions[0];\n const height = dimensions[1];\n\n this.transform.resize(width, height);\n if (!isMini) {\n return this;\n }\n const fireMoving = !this.moving;\n if (fireMoving) {\n this.stop();\n this.emit('movestart', new $window.Event('movestart', eventData));\n this.emit('move', new $window.Event('move', eventData));\n }\n\n this.emit('resize', new $window.Event('resize', eventData));\n\n if (fireMoving) {\n this.emit('moveend', new $window.Event('moveend', eventData));\n }\n\n return this;\n }\n\n public getContainer() {\n return this.container;\n }\n\n public getCanvas() {\n return this.canvas;\n }\n\n public getCanvasContainer() {\n return this.canvasContainer;\n }\n\n public project(lngLat: LngLatLike) {\n return this.transform.locationPoint(LngLat.convert(lngLat));\n }\n\n public unproject(point: PointLike) {\n return this.transform.pointLocation(Point.convert(point));\n }\n\n public getBounds(): LngLatBounds {\n return this.transform.getBounds();\n }\n\n public getMaxBounds(): LngLatBounds | null {\n return this.transform.getMaxBounds();\n }\n\n public setMaxBounds(bounds: LngLatBoundsLike) {\n this.transform.setMaxBounds(LngLatBounds.convert(bounds));\n }\n\n public setStyle(style: any) {\n return;\n }\n public setMinZoom(minZoom?: number) {\n minZoom =\n minZoom === null || minZoom === undefined ? defaultMinZoom : minZoom;\n if (minZoom >= defaultMinZoom && minZoom <= this.transform.maxZoom) {\n this.transform.minZoom = minZoom;\n if (this.getZoom() < minZoom) {\n this.setZoom(minZoom);\n }\n\n return this;\n } else {\n throw new Error(\n `minZoom must be between ${defaultMinZoom} and the current maxZoom, inclusive`,\n );\n }\n }\n\n public getMinZoom() {\n return this.transform.minZoom;\n }\n\n public setMaxZoom(maxZoom?: number) {\n maxZoom =\n maxZoom === null || maxZoom === undefined ? defaultMaxZoom : maxZoom;\n\n if (maxZoom >= this.transform.minZoom) {\n this.transform.maxZoom = maxZoom;\n if (this.getZoom() > maxZoom) {\n this.setZoom(maxZoom);\n }\n\n return this;\n } else {\n throw new Error('maxZoom must be greater than the current minZoom');\n }\n }\n public getMaxZoom() {\n return this.transform.maxZoom;\n }\n\n public setMinPitch(minPitch?: number) {\n minPitch =\n minPitch === null || minPitch === undefined ? defaultMinPitch : minPitch;\n\n if (minPitch < defaultMinPitch) {\n throw new Error(\n `minPitch must be greater than or equal to ${defaultMinPitch}`,\n );\n }\n\n if (minPitch >= defaultMinPitch && minPitch <= this.transform.maxPitch) {\n this.transform.minPitch = minPitch;\n if (this.getPitch() < minPitch) {\n this.setPitch(minPitch);\n }\n\n return this;\n } else {\n throw new Error(\n `minPitch must be between ${defaultMinPitch} and the current maxPitch, inclusive`,\n );\n }\n }\n\n public getMinPitch() {\n return this.transform.minPitch;\n }\n\n public setMaxPitch(maxPitch?: number) {\n maxPitch =\n maxPitch === null || maxPitch === undefined ? defaultMaxPitch : maxPitch;\n\n if (maxPitch > defaultMaxPitch) {\n throw new Error(\n `maxPitch must be less than or equal to ${defaultMaxPitch}`,\n );\n }\n\n if (maxPitch >= this.transform.minPitch) {\n this.transform.maxPitch = maxPitch;\n if (this.getPitch() > maxPitch) {\n this.setPitch(maxPitch);\n }\n\n return this;\n } else {\n throw new Error('maxPitch must be greater than the current minPitch');\n }\n }\n\n public getMaxPitch() {\n return this.transform.maxPitch;\n }\n\n public getRenderWorldCopies() {\n return this.transform.renderWorldCopies;\n }\n\n public setRenderWorldCopies(renderWorldCopies?: boolean) {\n this.transform.renderWorldCopies = !!renderWorldCopies;\n }\n\n public remove() {\n if (this.frame) {\n this.frame.cancel();\n this.frame = null;\n }\n this.renderTaskQueue.clear();\n }\n\n public requestRenderFrame(cb: CallBack): TaskID {\n this.update();\n return this.renderTaskQueue.add(cb);\n }\n\n public cancelRenderFrame(id: TaskID) {\n return this.renderTaskQueue.remove(id);\n }\n\n public triggerRepaint() {\n if (!this.frame) {\n this.frame = renderframe((paintStartTimeStamp: number) => {\n PerformanceUtils.frame(paintStartTimeStamp);\n this.frame = null;\n this.update(paintStartTimeStamp);\n });\n }\n }\n\n public update(time?: number) {\n if (!this.frame) {\n this.frame = renderframe((paintStartTimeStamp: number) => {\n PerformanceUtils.frame(paintStartTimeStamp);\n this.frame = null;\n this.renderTaskQueue.run(time);\n });\n }\n }\n\n private initContainer() {\n if (typeof this.options.container === 'string') {\n this.container = window.document.getElementById(\n this.options.container,\n ) as HTMLElement;\n if (!this.container) {\n throw new Error(`Container '${this.options.container}' not found.`);\n }\n } else if (this.options.container instanceof HTMLElement) {\n this.container = this.options.container;\n } else {\n throw new Error(\n \"Invalid type: 'container' must be a String or HTMLElement.\",\n );\n }\n\n const container = this.container;\n container.classList.add('l7-map');\n\n const canvasContainer = (this.canvasContainer = DOM.create(\n 'div',\n 'l7-canvas-container',\n container,\n ));\n if (this.options.interactive) {\n canvasContainer.classList.add('l7-interactive');\n }\n }\n\n /**\n * 小程序环境构建容器\n */\n private initMiniContainer() {\n this.container = this.options.canvas as HTMLCanvasElement;\n this.canvasContainer = this.container;\n }\n\n private containerDimensions(): [number, number] {\n let width = 0;\n let height = 0;\n if (this.container) {\n if (isMini) {\n width = (this.container as HTMLCanvasElement).width;\n height = (this.container as HTMLCanvasElement).height;\n } else {\n width = this.container.clientWidth;\n height = this.container.clientHeight;\n }\n }\n return [width, height];\n }\n\n private onWindowOnline = () => {\n this.update();\n };\n\n private onWindowResize = (event: Event) => {\n if (this.trackResize) {\n this.resize({ originalEvent: event }).update();\n }\n };\n}\n"],"file":"map.js"}
package/es/util.js CHANGED
@@ -4,6 +4,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
 
5
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6
6
 
7
+ import { $window, isMini } from '@antv/l7-utils';
7
8
  import UnitBezier from '@mapbox/unitbezier';
8
9
  var reducedMotionQuery;
9
10
  export function wrap(n, min, max) {
@@ -25,12 +26,12 @@ export function bezier(p1x, p1y, p2x, p2y) {
25
26
  }
26
27
  export var ease = bezier(0.25, 0.1, 0.25, 1);
27
28
  export function prefersReducedMotion() {
28
- if (!window.matchMedia) {
29
+ if (isMini || !$window.matchMedia) {
29
30
  return false;
30
31
  }
31
32
 
32
33
  if (reducedMotionQuery == null) {
33
- reducedMotionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
34
+ reducedMotionQuery = $window.matchMedia('(prefers-reduced-motion: reduce)');
34
35
  }
35
36
 
36
37
  return reducedMotionQuery.matches;
@@ -57,10 +58,10 @@ export function pick(src, properties) {
57
58
 
58
59
  return result;
59
60
  }
60
- export var now = window.performance && window.performance.now ? window.performance.now.bind(window.performance) : Date.now.bind(Date);
61
- export var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
61
+ export var now = isMini ? Date.now.bind(Date) : $window.performance && $window.performance.now ? $window.performance.now.bind($window.performance) : Date.now.bind(Date);
62
+ export var raf = $window.requestAnimationFrame || $window.mozRequestAnimationFrame || $window.webkitRequestAnimationFrame || $window.msRequestAnimationFrame;
62
63
 
63
- var _cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame;
64
+ var _cancel = $window.cancelAnimationFrame || $window.mozCancelAnimationFrame || $window.webkitCancelAnimationFrame || $window.msCancelAnimationFrame;
64
65
 
65
66
  export { _cancel as cancel };
66
67
  export function renderframe(fn) {
package/es/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util.ts"],"names":["UnitBezier","reducedMotionQuery","wrap","n","min","max","d","w","clamp","Math","interpolate","a","b","t","bezier","p1x","p1y","p2x","p2y","bez","solve","ease","prefersReducedMotion","window","matchMedia","matches","pick","src","properties","result","name","now","performance","bind","Date","raf","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","cancel","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","renderframe","fn","frame"],"mappings":"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","sourcesContent":["// @ts-ignore\nimport UnitBezier from '@mapbox/unitbezier';\nlet reducedMotionQuery: MediaQueryList;\nexport interface ICancelable {\n cancel: () => void;\n}\nexport function wrap(n: number, min: number, max: number): number {\n const d = max - min;\n const w = ((((n - min) % d) + d) % d) + min;\n return w === min ? max : w;\n}\n\nexport function clamp(n: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, n));\n}\n\nexport function interpolate(a: number, b: number, t: number) {\n return a * (1 - t) + b * t;\n}\nexport function bezier(\n p1x: number,\n p1y: number,\n p2x: number,\n p2y: number,\n): (t: number) => number {\n const bez = new UnitBezier(p1x, p1y, p2x, p2y);\n return (t: number) => {\n return bez.solve(t);\n };\n}\n\nexport const ease = bezier(0.25, 0.1, 0.25, 1);\n\nexport function prefersReducedMotion(): boolean {\n if (!window.matchMedia) {\n return false;\n }\n // Lazily initialize media query\n if (reducedMotionQuery == null) {\n reducedMotionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n }\n return reducedMotionQuery.matches;\n}\n\nexport function pick(\n src: { [key: string]: any },\n properties: string[],\n): { [key: string]: any } {\n const result: { [key: string]: any } = {};\n for (const name of properties) {\n if (name in src) {\n result[name] = src[name];\n }\n }\n return result;\n}\n\nexport const now =\n window.performance && window.performance.now\n ? window.performance.now.bind(window.performance)\n : Date.now.bind(Date);\n\nexport const raf =\n window.requestAnimationFrame ||\n // @ts-ignore\n window.mozRequestAnimationFrame ||\n // @ts-ignore\n window.webkitRequestAnimationFrame ||\n // @ts-ignore\n window.msRequestAnimationFrame;\n\nexport const cancel =\n window.cancelAnimationFrame ||\n // @ts-ignore\n window.mozCancelAnimationFrame ||\n // @ts-ignore\n window.webkitCancelAnimationFrame ||\n // @ts-ignore\n window.msCancelAnimationFrame;\n\nexport function renderframe(\n fn: (paintStartTimestamp: number) => void,\n): ICancelable {\n const frame = raf(fn);\n return { cancel: () => cancel(frame) };\n}\n"],"file":"util.js"}
1
+ {"version":3,"sources":["../src/util.ts"],"names":["$window","isMini","UnitBezier","reducedMotionQuery","wrap","n","min","max","d","w","clamp","Math","interpolate","a","b","t","bezier","p1x","p1y","p2x","p2y","bez","solve","ease","prefersReducedMotion","matchMedia","matches","pick","src","properties","result","name","now","Date","bind","performance","raf","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","cancel","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","renderframe","fn","frame"],"mappings":";;;;;;AAAA,SAASA,OAAT,EAAkBC,MAAlB,QAAgC,gBAAhC;AAEA,OAAOC,UAAP,MAAuB,oBAAvB;AACA,IAAIC,kBAAJ;AAIA,OAAO,SAASC,IAAT,CAAcC,CAAd,EAAyBC,GAAzB,EAAsCC,GAAtC,EAA2D;AAChE,MAAMC,CAAC,GAAGD,GAAG,GAAGD,GAAhB;AACA,MAAMG,CAAC,GAAI,CAAE,CAACJ,CAAC,GAAGC,GAAL,IAAYE,CAAb,GAAkBA,CAAnB,IAAwBA,CAAzB,GAA8BF,GAAxC;AACA,SAAOG,CAAC,KAAKH,GAAN,GAAYC,GAAZ,GAAkBE,CAAzB;AACD;AAED,OAAO,SAASC,KAAT,CAAeL,CAAf,EAA0BC,GAA1B,EAAuCC,GAAvC,EAA4D;AACjE,SAAOI,IAAI,CAACL,GAAL,CAASC,GAAT,EAAcI,IAAI,CAACJ,GAAL,CAASD,GAAT,EAAcD,CAAd,CAAd,CAAP;AACD;AAED,OAAO,SAASO,WAAT,CAAqBC,CAArB,EAAgCC,CAAhC,EAA2CC,CAA3C,EAAsD;AAC3D,SAAOF,CAAC,IAAI,IAAIE,CAAR,CAAD,GAAcD,CAAC,GAAGC,CAAzB;AACD;AACD,OAAO,SAASC,MAAT,CACLC,GADK,EAELC,GAFK,EAGLC,GAHK,EAILC,GAJK,EAKkB;AACvB,MAAMC,GAAG,GAAG,IAAInB,UAAJ,CAAee,GAAf,EAAoBC,GAApB,EAAyBC,GAAzB,EAA8BC,GAA9B,CAAZ;AACA,SAAO,UAACL,CAAD,EAAe;AACpB,WAAOM,GAAG,CAACC,KAAJ,CAAUP,CAAV,CAAP;AACD,GAFD;AAGD;AAED,OAAO,IAAMQ,IAAI,GAAGP,MAAM,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,EAAkB,CAAlB,CAAnB;AAEP,OAAO,SAASQ,oBAAT,GAAyC;AAE9C,MAAIvB,MAAM,IAAI,CAACD,OAAO,CAACyB,UAAvB,EAAmC;AACjC,WAAO,KAAP;AACD;;AAED,MAAItB,kBAAkB,IAAI,IAA1B,EAAgC;AAE9BA,IAAAA,kBAAkB,GAAGH,OAAO,CAACyB,UAAR,CAAmB,kCAAnB,CAArB;AACD;;AACD,SAAOtB,kBAAkB,CAACuB,OAA1B;AACD;AAED,OAAO,SAASC,IAAT,CACLC,GADK,EAELC,UAFK,EAGmB;AACxB,MAAMC,MAA8B,GAAG,EAAvC;;AADwB,6CAELD,UAFK;AAAA;;AAAA;AAExB,wDAA+B;AAAA,UAApBE,IAAoB;;AAC7B,UAAIA,IAAI,IAAIH,GAAZ,EAAiB;AACfE,QAAAA,MAAM,CAACC,IAAD,CAAN,GAAeH,GAAG,CAACG,IAAD,CAAlB;AACD;AACF;AANuB;AAAA;AAAA;AAAA;AAAA;;AAOxB,SAAOD,MAAP;AACD;AAED,OAAO,IAAME,GAAG,GAAG/B,MAAM,GACrBgC,IAAI,CAACD,GAAL,CAASE,IAAT,CAAcD,IAAd,CADqB,GAErBjC,OAAO,CAACmC,WAAR,IAAuBnC,OAAO,CAACmC,WAAR,CAAoBH,GAA3C,GACAhC,OAAO,CAACmC,WAAR,CAAoBH,GAApB,CAAwBE,IAAxB,CAA6BlC,OAAO,CAACmC,WAArC,CADA,GAEAF,IAAI,CAACD,GAAL,CAASE,IAAT,CAAcD,IAAd,CAJG;AAMP,OAAO,IAAMG,GAAG,GACdpC,OAAO,CAACqC,qBAAR,IAEArC,OAAO,CAACsC,wBAFR,IAIAtC,OAAO,CAACuC,2BAJR,IAMAvC,OAAO,CAACwC,uBAPH;;AASA,IAAMC,OAAM,GACjBzC,OAAO,CAAC0C,oBAAR,IAEA1C,OAAO,CAAC2C,uBAFR,IAIA3C,OAAO,CAAC4C,0BAJR,IAMA5C,OAAO,CAAC6C,sBAPH;;;AASP,OAAO,SAASC,WAAT,CACLC,EADK,EAEQ;AACb,MAAMC,KAAK,GAAGZ,GAAG,CAACW,EAAD,CAAjB;AACA,SAAO;AAAEN,IAAAA,MAAM,EAAE;AAAA,aAAMA,OAAM,CAACO,KAAD,CAAZ;AAAA;AAAV,GAAP;AACD","sourcesContent":["import { $window, isMini } from '@antv/l7-utils';\n// @ts-ignore\nimport UnitBezier from '@mapbox/unitbezier';\nlet reducedMotionQuery: MediaQueryList;\nexport interface ICancelable {\n cancel: () => void;\n}\nexport function wrap(n: number, min: number, max: number): number {\n const d = max - min;\n const w = ((((n - min) % d) + d) % d) + min;\n return w === min ? max : w;\n}\n\nexport function clamp(n: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, n));\n}\n\nexport function interpolate(a: number, b: number, t: number) {\n return a * (1 - t) + b * t;\n}\nexport function bezier(\n p1x: number,\n p1y: number,\n p2x: number,\n p2y: number,\n): (t: number) => number {\n const bez = new UnitBezier(p1x, p1y, p2x, p2y);\n return (t: number) => {\n return bez.solve(t);\n };\n}\n\nexport const ease = bezier(0.25, 0.1, 0.25, 1);\n\nexport function prefersReducedMotion(): boolean {\n // @ts-ignore\n if (isMini || !$window.matchMedia) {\n return false;\n }\n // Lazily initialize media query\n if (reducedMotionQuery == null) {\n // @ts-ignore\n reducedMotionQuery = $window.matchMedia('(prefers-reduced-motion: reduce)');\n }\n return reducedMotionQuery.matches;\n}\n\nexport function pick(\n src: { [key: string]: any },\n properties: string[],\n): { [key: string]: any } {\n const result: { [key: string]: any } = {};\n for (const name of properties) {\n if (name in src) {\n result[name] = src[name];\n }\n }\n return result;\n}\n\nexport const now = isMini\n ? Date.now.bind(Date)\n : $window.performance && $window.performance.now\n ? $window.performance.now.bind($window.performance)\n : Date.now.bind(Date);\n\nexport const raf =\n $window.requestAnimationFrame ||\n // @ts-ignore\n $window.mozRequestAnimationFrame ||\n // @ts-ignore\n $window.webkitRequestAnimationFrame ||\n // @ts-ignore\n $window.msRequestAnimationFrame;\n\nexport const cancel =\n $window.cancelAnimationFrame ||\n // @ts-ignore\n $window.mozCancelAnimationFrame ||\n // @ts-ignore\n $window.webkitCancelAnimationFrame ||\n // @ts-ignore\n $window.msCancelAnimationFrame;\n\nexport function renderframe(\n fn: (paintStartTimestamp: number) => void,\n): ICancelable {\n const frame = raf(fn);\n return { cancel: () => cancel(frame) };\n}\n"],"file":"util.js"}
package/es/utils/dom.js CHANGED
@@ -4,12 +4,13 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
4
4
 
5
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6
6
 
7
+ import { $window, isMini } from '@antv/l7-utils';
7
8
  import Point from '../geo/point';
8
9
  var DOM = {};
9
10
  export default DOM;
10
11
 
11
12
  DOM.create = function (tagName, className, container) {
12
- var el = window.document.createElement(tagName);
13
+ var el = $window.document.createElement(tagName);
13
14
 
14
15
  if (className !== undefined) {
15
16
  el.className = className;
@@ -23,11 +24,11 @@ DOM.create = function (tagName, className, container) {
23
24
  };
24
25
 
25
26
  DOM.createNS = function (namespaceURI, tagName) {
26
- var el = window.document.createElementNS(namespaceURI, tagName);
27
+ var el = $window.document.createElementNS(namespaceURI, tagName);
27
28
  return el;
28
29
  };
29
30
 
30
- var docStyle = window.document && window.document.documentElement.style;
31
+ var docStyle = $window.document && $window.document.documentElement.style;
31
32
 
32
33
  function testProp(props) {
33
34
  if (!docStyle) {
@@ -84,8 +85,8 @@ try {
84
85
  passiveSupported = true;
85
86
  }
86
87
  });
87
- window.addEventListener('test', options, options);
88
- window.removeEventListener('test', options, options);
88
+ $window.addEventListener('test', options, options);
89
+ $window.removeEventListener('test', options, options);
89
90
  } catch (err) {
90
91
  passiveSupported = false;
91
92
  }
@@ -113,44 +114,77 @@ DOM.removeEventListener = function (target, type, callback) {
113
114
  var suppressClick = function suppressClick(e) {
114
115
  e.preventDefault();
115
116
  e.stopPropagation();
116
- window.removeEventListener('click', suppressClick, true);
117
+ $window.removeEventListener('click', suppressClick, true);
117
118
  };
118
119
 
119
120
  DOM.suppressClick = function () {
120
- window.addEventListener('click', suppressClick, true);
121
- window.setTimeout(function () {
122
- window.removeEventListener('click', suppressClick, true);
121
+ if (isMini) {
122
+ return;
123
+ }
124
+
125
+ $window.addEventListener('click', suppressClick, true);
126
+ setTimeout(function () {
127
+ $window.removeEventListener('click', suppressClick, true);
123
128
  }, 0);
124
129
  };
125
130
 
126
131
  DOM.mousePos = function (el, e) {
127
- var rect = el.getBoundingClientRect();
128
- return new Point(e.clientX - rect.left - el.clientLeft, e.clientY - rect.top - el.clientTop);
132
+ if (!isMini) {
133
+ var rect = el.getBoundingClientRect();
134
+ return new Point(e.clientX - rect.left - el.clientLeft, e.clientY - rect.top - el.clientTop);
135
+ } else {
136
+ return new Point(e.clientX - el.left - 0, e.clientY - el.top - 0);
137
+ }
129
138
  };
130
139
 
131
140
  DOM.touchPos = function (el, touches) {
132
- var rect = el.getBoundingClientRect();
133
- var points = [];
141
+ if (!isMini) {
142
+ var rect = el.getBoundingClientRect();
143
+ var points = [];
134
144
 
135
- var _iterator2 = _createForOfIteratorHelper(touches),
136
- _step2;
145
+ var _iterator2 = _createForOfIteratorHelper(touches),
146
+ _step2;
137
147
 
138
- try {
139
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
140
- var touche = _step2.value;
141
- points.push(new Point(touche.clientX - rect.left - el.clientLeft, touche.clientY - rect.top - el.clientTop));
148
+ try {
149
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
150
+ var touche = _step2.value;
151
+ points.push(new Point(touche.clientX - rect.left - el.clientLeft, touche.clientY - rect.top - el.clientTop));
152
+ }
153
+ } catch (err) {
154
+ _iterator2.e(err);
155
+ } finally {
156
+ _iterator2.f();
142
157
  }
143
- } catch (err) {
144
- _iterator2.e(err);
145
- } finally {
146
- _iterator2.f();
147
- }
148
158
 
149
- return points;
159
+ return points;
160
+ } else {
161
+ var _points = [];
162
+
163
+ var _iterator3 = _createForOfIteratorHelper(touches),
164
+ _step3;
165
+
166
+ try {
167
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
168
+ var _touche = _step3.value;
169
+
170
+ _points.push(new Point(_touche.clientX - el.left, _touche.clientY - el.top));
171
+ }
172
+ } catch (err) {
173
+ _iterator3.e(err);
174
+ } finally {
175
+ _iterator3.f();
176
+ }
177
+
178
+ return _points;
179
+ }
150
180
  };
151
181
 
152
182
  DOM.mouseButton = function (e) {
153
- if (typeof window.InstallTrigger !== 'undefined' && e.button === 2 && e.ctrlKey && window.navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
183
+ if (!isMini) {
184
+ return e.button;
185
+ }
186
+
187
+ if (typeof $window.InstallTrigger !== 'undefined' && e.button === 2 && e.ctrlKey && $window.navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
154
188
  return 0;
155
189
  }
156
190
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/dom.ts"],"names":["Point","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","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":["$window","isMini","Point","DOM","create","tagName","className","container","el","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","clientX","left","clientLeft","clientY","top","clientTop","touchPos","touches","points","touche","push","mouseButton","button","InstallTrigger","ctrlKey","navigator","platform","toUpperCase","indexOf","remove","node","parentNode","removeChild"],"mappings":"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","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"}
@@ -1,8 +1,9 @@
1
+ import { $window } from '@antv/l7-utils';
1
2
  var lastFrameTime = null;
2
3
  var frameTimes = [];
3
4
  var minFramerateTarget = 30;
4
5
  var frameTimeTarget = 1000 / minFramerateTarget;
5
- var performance = window.performance;
6
+ var performance = $window.performance;
6
7
  export var PerformanceMarkers = {
7
8
  create: 'create',
8
9
  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;AASA,OAAO,IAAME,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAE,QADwB;AAEhCC,EAAAA,IAAI,EAAE,MAF0B;AAGhCC,EAAAA,QAAQ,EAAE;AAHsB,CAA3B;AAMP,OAAO,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":["$window","lastFrameTime","frameTimes","minFramerateTarget","frameTimeTarget","performance","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,SAASA,OAAT,QAAwB,gBAAxB;AACA,IAAIC,aAA4B,GAAG,IAAnC;AACA,IAAIC,UAAoB,GAAG,EAA3B;AAEA,IAAMC,kBAAkB,GAAG,EAA3B;AACA,IAAMC,eAAe,GAAG,OAAOD,kBAA/B;AACA,IAAME,WAAW,GAAGL,OAAO,CAACK,WAA5B;AASA,OAAO,IAAMC,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAE,QADwB;AAEhCC,EAAAA,IAAI,EAAE,MAF0B;AAGhCC,EAAAA,QAAQ,EAAE;AAHsB,CAA3B;AAMP,OAAO,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAD8B,gBACzBC,MADyB,EACT;AACnBP,IAAAA,WAAW,CAACM,IAAZ,CAAiBC,MAAjB;AACD,GAH6B;AAI9BC,EAAAA,KAJ8B,iBAIxBC,SAJwB,EAIL;AACvB,QAAMC,aAAa,GAAGD,SAAtB;;AACA,QAAIb,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAMe,SAAS,GAAGD,aAAa,GAAGd,aAAlC;AACAC,MAAAA,UAAU,CAACe,IAAX,CAAgBD,SAAhB;AACD;;AACDf,IAAAA,aAAa,GAAGc,aAAhB;AACD,GAX6B;AAY9BG,EAAAA,YAZ8B,0BAYf;AACbjB,IAAAA,aAAa,GAAG,IAAhB;AACAC,IAAAA,UAAU,GAAG,EAAb;AACAG,IAAAA,WAAW,CAACc,aAAZ,CAA0B,UAA1B;AACAd,IAAAA,WAAW,CAACc,aAAZ,CAA0B,cAA1B;;AAGA,SAAK,IAAMP,MAAX,IAAqBN,kBAArB,EAAyC;AAEvCD,MAAAA,WAAW,CAACe,UAAZ,CAAuBd,kBAAkB,CAACM,MAAD,CAAzC;AACD;AACF,GAvB6B;AAwB9BS,EAAAA,qBAxB8B,mCAwBe;AAC3C,QAAMC,QAAQ,GAAGjB,WAAW,CAACkB,OAAZ,CACf,UADe,EAEfjB,kBAAkB,CAACC,MAFJ,EAGfD,kBAAkB,CAACE,IAHJ,EAKfgB,QALF;AAOA,QAAMC,YAAY,GAAGpB,WAAW,CAACkB,OAAZ,CACnB,cADmB,EAEnBjB,kBAAkB,CAACC,MAFA,EAGnBD,kBAAkB,CAACG,QAHA,EAKnBe,QALF;AAMA,QAAME,WAAW,GAAGxB,UAAU,CAACyB,MAA/B;AAEA,QAAMC,YAAY,GAChB1B,UAAU,CAAC2B,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,GAAG/B,UAAU,CAC7BgC,MADmB,CACZ,UAAClB,SAAD;AAAA,aAAeA,SAAS,GAAGZ,eAA3B;AAAA,KADY,EAEnByB,MAFmB,CAEZ,UAACM,GAAD,EAAMJ,IAAN,EAAe;AACrB,aAAOI,GAAG,GAAG,CAACJ,IAAI,GAAG3B,eAAR,IAA2BA,eAAxC;AACD,KAJmB,EAIjB,CAJiB,CAAtB;AAKA,QAAMgC,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"}