Updated webgl-points-layer example to add a style with rotation
Also made it so that the map re-renders continously, to be able to use the ["time"] operator.
This commit is contained in:
@@ -13,6 +13,8 @@ docs: >
|
|||||||
Note: those will be taken from the attributes provided to the renderer
|
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
|
* `['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
|
* `['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:
|
* Math operators:
|
||||||
* `['*', value1, value2]` multiplies `value1` by `value2`
|
* `['*', 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
|
* `['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.
|
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.
|
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.
|
Values can either be literals or another operator, as they will be evaluated recursively.
|
||||||
Literal values can be of the following types:
|
Literal values can be of the following types:
|
||||||
* `boolean`
|
* `boolean`
|
||||||
@@ -76,6 +77,7 @@ experimental: true
|
|||||||
<option value="triangles-latitude">Triangles, color related to latitude</option>
|
<option value="triangles-latitude">Triangles, color related to latitude</option>
|
||||||
<option value="circles">Circles, size related to population</option>
|
<option value="circles">Circles, size related to population</option>
|
||||||
<option value="circles-zoom">Circles, size related to zoom</option>
|
<option value="circles-zoom">Circles, size related to zoom</option>
|
||||||
|
<option value="rotating-bars">Rotating bars</option>
|
||||||
</select>
|
</select>
|
||||||
<textarea style="width: 100%; height: 20rem; font-family: monospace; font-size: small;" id="style-editor"></textarea>
|
<textarea style="width: 100%; height: 20rem; font-family: monospace; font-size: small;" id="style-editor"></textarea>
|
||||||
<small>
|
<small>
|
||||||
|
|||||||
@@ -95,6 +95,35 @@ const predefinedStyles = {
|
|||||||
offset: [0, 0],
|
offset: [0, 0],
|
||||||
opacity: 0.95
|
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();
|
onSelectChange();
|
||||||
select.addEventListener('change', onSelectChange);
|
select.addEventListener('change', onSelectChange);
|
||||||
|
|
||||||
|
// animate the map
|
||||||
|
function animate() {
|
||||||
|
map.render();
|
||||||
|
window.requestAnimationFrame(animate);
|
||||||
|
}
|
||||||
|
animate();
|
||||||
|
|||||||
Reference in New Issue
Block a user