Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
extentUtil.js.map 3.96 KiB
{"version":3,"file":"extentUtil.js","sourceRoot":"","sources":["../../src/olHelpers/extentUtil.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,2CAAsC;AAKtC,IAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,CAAC,CAAC;AAE3B;;;;GAIG;AACH,yBAAgC,MAA2C;IACvE,YAAY,CAAC;IAEb,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;IACnB,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;IAEnB,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;QAAjB,IAAI,GAAG,eAAA;QAER;;;WAGG;QACH,IAAI,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QAGpC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;KACJ;IAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACZ,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAlCD,0CAkCC;AAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC;AAGrC;;;;;GAKG;AACH,kBAAyB,MAA2C,EAAE,EAAU,EAAE,OAAgB;IAC9F,YAAY,CAAC;IAEb,IAAI,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAElC,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,CAAA,CAAC;QAC3B,MAAM,CAAC;IACX,CAAC;IAED,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAgB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjD,EAAE,CAAC,CAAC,OAAO,OAAO,IAAI,QAAQ,CAAC,CAAA,CAAC;QAC5B,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC;AAdD,4BAcC;AAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC","sourcesContent":["/**\r\n * Created by gavorhes on 7/18/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\n\r\n\r\nconst nm = provide('util');\r\n\r\n/**\r\n *\r\n * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector|*} layers - array of layers or single\r\n * @returns {ol.Extent|Array<number>|*} - collective extent\r\n */\r\nexport function calculateExtent(layers: ol.layer.Vector[]|LayerBaseVector[]): ol.Extent|Array<number>| ol.Extent| number[] {\r\n    \"use strict\";\r\n\r\n    let hasExtent = false;\r\n\r\n    let minX = 10E100;\r\n    let minY = 10E100;\r\n    let maxX = -10E100;\r\n    let maxY = -10E100;\r\n\r\n    for (let lyr of layers) {\r\n\r\n        /**\r\n         * \r\n         * @type {ol.layer.Vector}\r\n         */\r\n        let olLayer = lyr['olLayer'] || lyr;\r\n        \r\n        \r\n        if (olLayer.getSource().getFeatures().length > 0) {\r\n            hasExtent = true;\r\n            let ext = olLayer.getSource().getExtent();\r\n            minX = ext[0] < minX ? ext[0] : minX;\r\n            minY = ext[1] < minY ? ext[1] : minY;\r\n            maxX = ext[2] > maxX ? ext[2] : maxX;\r\n            maxY = ext[3] > maxY ? ext[3] : maxY;\r\n        }\r\n    }\r\n\r\n    if (hasExtent) {\r\n        return [minX, minY, maxX, maxY];\r\n    } else {\r\n        return undefined;\r\n    }\r\n}\r\n\r\nnm.calculateExtent = calculateExtent;\r\n \r\n\r\n/**\r\n * given one or an array of layers, fit to the map\r\n * @param layers - array of layers or single\r\n * @param  mp - the map to fit\r\n * @param [zoomOut=undefined] - levels to zoom out after fit\r\n */\r\nexport function fitToMap(layers: ol.layer.Vector[]|LayerBaseVector[], mp: ol.Map, zoomOut?: number){\r\n    \"use strict\";\r\n\r\n    let ext = calculateExtent(layers);\r\n    \r\n    if (typeof ext == 'undefined'){\r\n        return;\r\n    }\r\n    \r\n    mp.getView().fit(ext as ol.Extent, mp.getSize());\r\n    \r\n    if (typeof zoomOut == 'number'){\r\n        mp.getView().setZoom(mp.getView().getZoom() - zoomOut);\r\n    }\r\n}\r\n\r\nnm.calculateExtent = calculateExtent;\r\n"]}