qwc2
Version:
QGIS Web Client
7 lines • 3.4 kB
JavaScript
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)}}}};