一連の画像をアニメーション化
一連の画像ソースを使用してアニメーションを作成します。
<!DOCTYPE html><html><head><meta charset="utf-8"><title>一連の画像をアニメーション化</title><meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"><link href="https://api.mapbox.com/mapbox-gl-js/v2.14.1/mapbox-gl.css" rel="stylesheet"><script src="https://api.mapbox.com/mapbox-gl-js/v2.14.1/mapbox-gl.js"></script><style>body { margin: 0; padding: 0; }#map { position: absolute; top: 0; bottom: 0; width: 100%; }</style></head><body><div id="map"></div><script> // TO MAKE THE MAP APPEAR YOU MUST // ADD YOUR ACCESS TOKEN FROM // https://account.mapbox.com mapboxgl.accessToken = 'YOUR_MAPBOX_ACCESS_TOKEN';const map = new mapboxgl.Map({container: 'map',style: 'mapbox://styles/mapbox/dark-v10',maxZoom: 5.99,minZoom: 4,zoom: 5,center: [-75.789, 41.874]}); const frameCount = 5;let currentImage = 0; function getPath() {return `https://docs.mapbox.com/mapbox-gl-js/assets/radar${currentImage}.gif`;} map.on('load', () => {map.addSource('radar', {type: 'image',url: getPath(),coordinates: [[-80.425, 46.437],[-71.516, 46.437],[-71.516, 37.936],[-80.425, 37.936]]});map.addLayer({id: 'radar-layer','type': 'raster','source': 'radar','paint': {'raster-fade-duration': 0}}); setInterval(() => {currentImage = (currentImage + 1) % frameCount;map.getSource('radar').updateImage({ url: getPath() });}, 200);});</script> </body></html>