// build an initial index of tiles var tileIndex = geojsonvt(geoJSON); // request a particular tile var features = tileIndex.getTile(z, x, y).features; // show an array of tile coordinates created so far console.log(tileIndex.tileCoords); // [{z: 0, x: 0, y: 0}, ...]
You can fine-tune the results with an options object, although the defaults are sensible and work well for most use cases.
var tileIndex = geojsonvt(data, { maxZoom: 14, // max zoom to preserve detail on tolerance: 3, // simplification tolerance (higher means simpler) extent: 4096, // tile extent (both width and height) buffer: 64, // tile buffer on each side debug: 0 // logging level (0 to disable, 1 or 2) indexMaxZoom: 4, // max zoom in the initial tile index indexMaxPoints: 100000, // max number of points per tile in the index solidChildren: false // whether to include solid tile children in the index });
By default, tiles at zoom levels above indexMaxZoom
are generated on the fly, but you can pre-generate all possible tiles for data
by setting indexMaxZoom
and maxZoom
to the same value, setting indexMaxPoints
to 0
, and then accessing the resulting tile coordinates from the tileCoords
property of tileIndex
.