Skip to content
Snippets Groups Projects
mapToBase64.js.map 4.76 KiB
Newer Older
Glenn Vorhes's avatar
Glenn Vorhes committed
{"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"]}