diff --git a/package.json b/package.json index 91f63fd4..830e974b 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vts-browser-js", - "version": "2.16.7", + "version": "2.16.8", "description": "JavaScript WebGL 3D maps rendering engine", "main": "src/browser/index.js", "scripts": { diff --git a/src/core/core.js b/src/core/core.js index f25c1879..3b284bf2 100755 --- a/src/core/core.js +++ b/src/core/core.js @@ -532,7 +532,7 @@ string getCoreVersion() */ function getCoreVersion(full) { - return (full ? 'Core: ' : '') + '2.16.7'; + return (full ? 'Core: ' : '') + '2.16.8'; } diff --git a/src/core/map/geodata-processor/worker-main.js b/src/core/map/geodata-processor/worker-main.js index 3af41a8e..c59b9b0c 100755 --- a/src/core/map/geodata-processor/worker-main.js +++ b/src/core/map/geodata-processor/worker-main.js @@ -285,8 +285,10 @@ function processLayerFeature(type, feature, lod, layer, featureIndex, skipPack) var vswitch = layer['visibility-switch']; for (var i = 0, li = vswitch.length; i 0) { + for (var i = 0, li = value.length; i < li; i++) { + var valueItem = value[i]; + var wrong = false; + + if (!(typeof valueItem == 'object' && Array.isArray(valueItem) && valueItem.length == 2)) { + wrong = true; + } else { + if (typeof valueItem[0] == 'string' && valueItem[0].charAt(0) == '@') { + if (typeof globals.stylesheetConstants[valueItem[0]] == 'undefined') { + wrong = true; + } else { + valueItem[0] = globals.stylesheetConstants[valueItem[0]]; + } + } + + if (!(typeof valueItem[0] == 'number' && (typeof valueItem[1] == 'string' || valueItem[1] === null))) { + wrong = true; + } + } + + if (wrong) { + logError('wrong-property-value[]', layerId, key, value, i); + } + } + + } else { + logError('wrong-property-value', layerId, key, value); + return getDefaultLayerPropertyValue(key); + } + } + } return layer;