Dragonfly
Dragonfly is a JavaScript library that uses WebGL to render interactive maps from vector tiles. It is built on top of Mapbox GL JS. Dragonfly focuses on data-driven maps providing tools to create powerful data maps even for very large data sets and very detailed geographies.
Checkout the project on Github
Key features
- Data driven
- Handling large amounts of data (geography tiles with sizes of 10GB and datasets over 100GB)
- Apply different projections (Mercator, Conic, etc) to your datasets and switch seamlessly
Getting started
To get started include the JavaScript and CSS files in the <head>
of the HTML page.
<script src="assets/lib/dragonfly.js"></script>
<link href="assets/lib/dragonfly.css" rel="stylesheet"/>
Next step is to add the following code to <body>
of your HTML file.
<div id='map' style='width: 600px; height: 450px;'></div>
<script>
var map = new dragonfly.Map({
container: 'map',
style: {
center: [-74.50, 40], // starting position [lng, lat]
zoom: 0, // starting zoom
version: 8,
sources: {
'source-1': { // geobuffer source definition
type: 'vector',
tiles: ['https://tiles3.socialexplorer.com/gettile/?x={x}&y={y}&z={z}&layers={layers}&projection=EPSG-3857&columns={columns}'], // geobuffer tile delivery url signature
layers: [ // define layers that will be used
{
layerId: '27238' // world landmass layer
}
]
}
},
layers: [
{
id: 'background',
type: 'background',
paint: {
'background-color': '#7acad0'
}
}, {
id: 'world-fill',
source: 'source-1',
'source-layer': '27238',
type: 'fill',
paint: {
'fill-color': 'rgb(240,240,240)'
}
}
]
}
});
</script>
Checkout our examples page for more ideas on how to create maps, add, layers, change styles.