mapbox-expression
v0.0.3
Published
Evaluate Mapbox GL expression
Downloads
3,728
Readme
Mapbox-expression
This library lets you evaluate a Mapbox GL expression directly, for a given feature, in a given context.
Credit for the code goes to danvk. Most of the code comes from here. See the Mapbox GL issue for further context.
You need to include Mapbox GL separately.
Usage
import Expression from 'mapbox-expression';
const feature = {
type: 'Feature',
properties: {
name: 'Jan'
},
geometry: null
};
Expression.parse(['concat', 'Hello, ', ['get', 'name']]).evaluate(feature);
// 'Hello, Jan'
You can also pass in a context object. Mapbox GL seems to recognise these values:
zoom: number, // required
heatmapDensity: number,
lineProgress: number,
isSupportedScript: (string) => boolean,
accumulated: Value
So:
Expression.parse(['interpolate', ['linear'], ['zoom'], 10, 3, 15, 8]).evaluate(feature, { zoom: 12 })
// 5