UNPKG

qwc2

Version:
75 lines (74 loc) 4.2 kB
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /** * Copyright 2024 Sourcepole AG * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. */ import ColorLayer from '@giro3d/giro3d/core/layer/ColorLayer'; import TiledImageSource from '@giro3d/giro3d/sources/TiledImageSource.js'; import ol from 'openlayers'; import { wmsImageLoadFunction, wmsToOpenlayersOptions } from '../../map/layers/WMSLayer'; export default { create3d: function create3d(options, projection) { var queryParameters = _objectSpread(_objectSpread({}, wmsToOpenlayersOptions(options)), {}, { __t: +new Date() }); return new ColorLayer({ name: options.name, source: new TiledImageSource({ source: new ol.source.TileWMS({ url: options.url.split("?")[0], params: queryParameters, version: options.version, projection: projection, tileLoadFunction: function tileLoadFunction(imageTile, src) { return wmsImageLoadFunction(imageTile.getImage(), src); } }) }) }); }, update3d: function update3d(layer, newOptions, oldOptions, projection) { var _layer$source; if (oldOptions && layer !== null && layer !== void 0 && (_layer$source = layer.source) !== null && _layer$source !== void 0 && _layer$source.updateParams) { var changed = (oldOptions.rev || 0) !== (newOptions.rev || 0); var oldParams = wmsToOpenlayersOptions(oldOptions); var newParams = wmsToOpenlayersOptions(newOptions); Object.keys(oldParams).forEach(function (key) { if (!(key in newParams)) { newParams[key] = undefined; } }); if (!changed) { changed = Object.keys(newParams).find(function (key) { return newParams[key] !== oldParams[key]; }) !== undefined; } changed |= newOptions.visibility !== oldOptions.visibility; if (changed) { var queryParameters = _objectSpread(_objectSpread({}, newParams), {}, { __t: +new Date() }); if (layer.__updateTimeout) { clearTimeout(layer.__updateTimeout); } if (!newOptions.visibility || !queryParameters.LAYERS) { layer.visible = false; } layer.__updateTimeout = setTimeout(function () { layer.visible = queryParameters.LAYERS && newOptions.visibility; layer.source.updateParams(queryParameters); layer.update(); layer.__updateTimeout = null; }, 500); } } } };