Newer
Older
{"version":3,"file":"mapToBase64.js","sourceRoot":"","sources":["../../src/olHelpers/mapToBase64.ts"],"names":[],"mappings":";;AACA,sDAAiD;AAcjD,SAAgB,WAAW,CAAC,GAAQ,EAAE,QAAkC,EAAE,OAA6B;IACnG,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;QACnC,MAAM;KACT;SAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;QACzC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;KACxB;SAAM;QACH,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;KACrB;IAED,IAAI,SAAS,GAAmB,GAAG,CAAC,gBAAgB,EAAoB,CAAC;IAEzE,IAAI,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5C,IAAI,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1C,IAAI,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;IAChD,IAAI,cAAc,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;IAC/C,IAAI,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IAE3C,sBAAsB;IAEtB,IAAI,OAAO,CAAC,MAAM,EAAE;QAChB,SAAS,CAAC,KAAK,CAAC,MAAM,GAAM,OAAO,CAAC,MAAM,CAAC,MAAM,OAAI,CAAC;QACtD,SAAS,CAAC,KAAK,CAAC,KAAK,GAAM,OAAO,CAAC,MAAM,CAAC,KAAK,OAAI,CAAC;QACpD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACtC,GAAG,CAAC,UAAU,EAAE,CAAC;KACpB;IAED,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;QAEnB,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,qBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACjC;QAED,UAAU,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,UAAC,KAAK;gBAC1B,IAAI;oBACA,IAAI,MAAM,GAAsB,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;oBACxD,IAAI,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACrB;gBACD,OAAO,EAAE,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,kCAAkC;iBACrC;wBAAS;oBACN,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;wBACxC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;wBACtC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;wBAE5C,GAAG,CAAC,UAAU,EAAE,CAAC;wBACjB,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACxC,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;qBACvC;oBAED,IAAI,OAAO,CAAC,MAAM,EAAE;wBAChB,qBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;qBACjC;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,UAAU,EAAE,CAAC;QACrB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,UAAU,EAAE,CAAC;AACrB,CAAC;AAjED,kCAiEC;AAED,kBAAe,WAAW,CAAC","sourcesContent":["import {LayerBaseVector} from \"../layers\";\r\nimport {fitToMap} from '../olHelpers/extentUtil';\r\n// import {layers} from \"../\";\r\nimport Map from 'ol/Map';\r\n\r\ndeclare const glob: Object;\r\n\r\nexport interface iMapToBase64Options {\r\n resize?: { width: number, height: number };\r\n layers?: LayerBaseVector[] | LayerBaseVector[];\r\n delay?: number;\r\n}\r\n\r\n\r\n\r\nexport function mapToBase64(map: Map, callback: (imgData: string) => any, options?: iMapToBase64Options): any {\r\n options = options || {};\r\n\r\n if (typeof options.delay === 'number') {\r\n //pass\r\n } else if (options.layers || options.resize) {\r\n options.delay = 2000;\r\n } else {\r\n options.delay = 1;\r\n }\r\n\r\n let mapTarget: HTMLDivElement = map.getTargetElement() as HTMLDivElement;\r\n\r\n let originalHeight = mapTarget.style.height;\r\n let originalWidth = mapTarget.style.width;\r\n let originalPosition = mapTarget.style.position;\r\n let originalCenter = map.getView().getCenter();\r\n let originalZoom = map.getView().getZoom();\r\n\r\n // let mapTimeout = 1;\r\n\r\n if (options.resize) {\r\n mapTarget.style.height = `${options.resize.height}px`;\r\n mapTarget.style.width = `${options.resize.width}px`;\r\n mapTarget.style.position = 'absolute';\r\n map.updateSize();\r\n }\r\n\r\n map.once('postrender', () => {\r\n\r\n if (options.layers) {\r\n fitToMap(options.layers, map);\r\n }\r\n\r\n setTimeout(() => {\r\n map.once('postcompose', (event) => {\r\n try {\r\n let canvas: HTMLCanvasElement = event['context'].canvas;\r\n let imgData = canvas.toDataURL('image/png');\r\n callback(imgData);\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n // reportParams['imgData'] = null;\r\n } finally {\r\n if (options.resize) {\r\n mapTarget.style.height = originalHeight;\r\n mapTarget.style.width = originalWidth;\r\n mapTarget.style.position = originalPosition;\r\n\r\n map.updateSize();\r\n map.getView().setCenter(originalCenter);\r\n map.getView().setZoom(originalZoom);\r\n }\r\n\r\n if (options.layers) {\r\n fitToMap(options.layers, map);\r\n }\r\n }\r\n });\r\n map.renderSync();\r\n }, options.delay);\r\n });\r\n\r\n map.updateSize();\r\n}\r\n\r\nexport default mapToBase64;\r\n"]}