diff --git a/examples/webgl-points-layer.html b/examples/webgl-points-layer.html index edf8dd120e..0a9af85142 100644 --- a/examples/webgl-points-layer.html +++ b/examples/webgl-points-layer.html @@ -13,6 +13,8 @@ docs: > Note: those will be taken from the attributes provided to the renderer * `['var', 'varName']` fetches a value from the style variables, or 0 if undefined * `['time']` returns the time in seconds since the creation of the layer + * `['zoom']` returns the current zoom level + * `['resolution']` returns the current resolution * Math operators: * `['*', value1, value2]` multiplies `value1` by `value2` @@ -57,7 +59,6 @@ docs: > * `['color', red, green, blue, alpha]` creates a `color` value from `number` values; the `alpha` parameter is optional; if not specified, it will be set to 1. Note: `red`, `green` and `blue` components must be values between 0 and 255; `alpha` between 0 and 1. - Values can either be literals or another operator, as they will be evaluated recursively. Literal values can be of the following types: * `boolean` @@ -76,6 +77,7 @@ experimental: true + diff --git a/examples/webgl-points-layer.js b/examples/webgl-points-layer.js index 3d3c980a41..1db76814c4 100644 --- a/examples/webgl-points-layer.js +++ b/examples/webgl-points-layer.js @@ -95,6 +95,35 @@ const predefinedStyles = { offset: [0, 0], opacity: 0.95 } + }, + 'rotating-bars': { + symbol: { + symbolType: 'square', + rotation: ['*', [ + 'time' + ], 0.1], + size: ['array', 4, [ + 'interpolate', + ['linear'], + ['get', 'population'], + 20000, 4, + 300000, 28] + ], + color: [ + 'interpolate', + ['linear'], + ['get', 'population'], + 20000, '#ffdc00', + 300000, '#ff5b19' + ], + offset: ['array', 0, [ + 'interpolate', + ['linear'], + ['get', 'population'], + 20000, 2, + 300000, 14] + ] + } } }; @@ -167,3 +196,10 @@ function onSelectChange() { } onSelectChange(); select.addEventListener('change', onSelectChange); + +// animate the map +function animate() { + map.render(); + window.requestAnimationFrame(animate); +} +animate();