code Snippetlanguage CDNpackage_2 NPM
content_copy Copyopen_in_new Open
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY' ;
const map = new maptilersdk. Map ({
container: 'map' ,
style: maptilersdk.MapStyle. STREETS ,
center: [ - 98 , 39 ],
zoom: 3
});
map. on ( 'load' , () => {
map. addSource ( 'quakes' , {
type: 'geojson' ,
data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson'
});
map. addLayer ({
id: 'quake-circles' , type: 'circle' , source: 'quakes' ,
paint: { 'circle-radius' : 6 , 'circle-color' : '#9C27B0' , 'circle-opacity' : 0.7 }
});
const now = Date. now ();
function animate () {
const elapsed = ((Date. now () - now) % 10000 ) / 10000 ;
const cutoff = Date. now () - ( 1 - elapsed) * 30 * 24 * 3600 * 1000 ;
map. setFilter ( 'quake-circles' , [ '>=' , [ 'get' , 'time' ], cutoff]);
requestAnimationFrame (animate);
}
animate ();
}); content_copy Copyopen_in_new Open
<! DOCTYPE html >
< html >
< head >
< meta charset = "utf-8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
< link rel = "stylesheet" href = "https://cdn.maptiler.com/maptiler-sdk-js/v4.1.0/maptiler-sdk.css" />
< script src = "https://cdn.maptiler.com/maptiler-sdk-js/v4.1.0/maptiler-sdk.umd.min.js" ></ script >
< style >
body { margin : 0 ; padding : 0 ; }
#map { width : 100 % ; height : 100 vh ; }
</ style >
</ head >
< body >
< div id = "map" ></ div >
< script >
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY' ;
const map = new maptilersdk. Map ({
container: 'map' ,
style: maptilersdk.MapStyle. STREETS ,
center: [ - 98 , 39 ],
zoom: 3
});
map. on ( 'load' , () => {
map. addSource ( 'quakes' , {
type: 'geojson' ,
data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson'
});
map. addLayer ({
id: 'quake-circles' , type: 'circle' , source: 'quakes' ,
paint: { 'circle-radius' : 6 , 'circle-color' : '#9C27B0' , 'circle-opacity' : 0.7 }
});
const now = Date. now ();
function animate () {
const elapsed = ((Date. now () - now) % 10000 ) / 10000 ;
const cutoff = Date. now () - ( 1 - elapsed) * 30 * 24 * 3600 * 1000 ;
map. setFilter ( 'quake-circles' , [ '>=' , [ 'get' , 'time' ], cutoff]);
requestAnimationFrame (animate);
}
animate ();
});
</ script >
</ body >
</ html > content_copy Copyopen_in_new Open
import * as maptilersdk from '@maptiler/sdk' ;
import '@maptiler/sdk/dist/maptiler-sdk.css' ;
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY' ;
const map = new maptilersdk. Map ({
container: 'map' ,
style: maptilersdk.MapStyle. STREETS ,
center: [ - 98 , 39 ],
zoom: 3
});
map. on ( 'load' , () => {
map. addSource ( 'quakes' , {
type: 'geojson' ,
data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson'
});
map. addLayer ({
id: 'quake-circles' , type: 'circle' , source: 'quakes' ,
paint: { 'circle-radius' : 6 , 'circle-color' : '#9C27B0' , 'circle-opacity' : 0.7 }
});
const now = Date. now ();
function animate () {
const elapsed = ((Date. now () - now) % 10000 ) / 10000 ;
const cutoff = Date. now () - ( 1 - elapsed) * 30 * 24 * 3600 * 1000 ;
map. setFilter ( 'quake-circles' , [ '>=' , [ 'get' , 'time' ], cutoff]);
requestAnimationFrame (animate);
}
animate ();
});
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY';
const map = new maptilersdk.Map({
container: 'map',
style: maptilersdk.MapStyle.STREETS,
center: [-98, 39],
zoom: 3
});
map.on('load', () => {
map.addSource('quakes', {
type: 'geojson',
data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson'
});
map.addLayer({
id: 'quake-circles', type: 'circle', source: 'quakes',
paint: { 'circle-radius': 6, 'circle-color': '#9C27B0', 'circle-opacity': 0.7 }
});
const now = Date.now();
function animate() {
const elapsed = ((Date.now() - now) % 10000) / 10000;
const cutoff = Date.now() - (1 - elapsed) * 30 * 24 * 3600 * 1000;
map.setFilter('quake-circles', ['>=', ['get', 'time'], cutoff]);
requestAnimationFrame(animate);
}
animate();
}); <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://cdn.maptiler.com/maptiler-sdk-js/v4.1.0/maptiler-sdk.css" />
<script src="https://cdn.maptiler.com/maptiler-sdk-js/v4.1.0/maptiler-sdk.umd.min.js"></script>
<style>
body { margin: 0; padding: 0; }
#map { width: 100%; height: 100vh; }
</style>
</head>
<body>
<div id="map"></div>
<script>
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY';
const map = new maptilersdk.Map({
container: 'map',
style: maptilersdk.MapStyle.STREETS,
center: [-98, 39],
zoom: 3
});
map.on('load', () => {
map.addSource('quakes', {
type: 'geojson',
data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson'
});
map.addLayer({
id: 'quake-circles', type: 'circle', source: 'quakes',
paint: { 'circle-radius': 6, 'circle-color': '#9C27B0', 'circle-opacity': 0.7 }
});
const now = Date.now();
function animate() {
const elapsed = ((Date.now() - now) % 10000) / 10000;
const cutoff = Date.now() - (1 - elapsed) * 30 * 24 * 3600 * 1000;
map.setFilter('quake-circles', ['>=', ['get', 'time'], cutoff]);
requestAnimationFrame(animate);
}
animate();
});
</script>
</body>
</html> import * as maptilersdk from '@maptiler/sdk';
import '@maptiler/sdk/dist/maptiler-sdk.css';
maptilersdk.config.apiKey = 'YOUR_MAPTILER_KEY';
const map = new maptilersdk.Map({
container: 'map',
style: maptilersdk.MapStyle.STREETS,
center: [-98, 39],
zoom: 3
});
map.on('load', () => {
map.addSource('quakes', {
type: 'geojson',
data: 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson'
});
map.addLayer({
id: 'quake-circles', type: 'circle', source: 'quakes',
paint: { 'circle-radius': 6, 'circle-color': '#9C27B0', 'circle-opacity': 0.7 }
});
const now = Date.now();
function animate() {
const elapsed = ((Date.now() - now) % 10000) / 10000;
const cutoff = Date.now() - (1 - elapsed) * 30 * 24 * 3600 * 1000;
map.setFilter('quake-circles', ['>=', ['get', 'time'], cutoff]);
requestAnimationFrame(animate);
}
animate();
});