我想通过USGS api提供的数据在世界地图上绘制实时地震,并且我想在不同的图层之间切换(比如 - 过去一个小时、过去一天、过去一周、过去一个月)。Mapbox矢量瓦片集支持这种逐层排列,但这仅适用于Mapbox 瓦片集中上传的数据。
应用程序.js
mapboxgl.accessToken = 'MY_ACCESS_TOKEN';
const map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/vormir/ckzo5g2rg002l15r0jsz86gsz',
zoom: 1
})
map.on('load', () => {
map.addSource('earthquakes-month', {
type: 'vector',
url: 'mapbox://vormir.ct3sxzef',
generateId: true
})
map.addLayer({
id: 'earthquakes-month',
type: 'circle',
source: 'earthquakes-month',
layout: {
'visibility': 'visible'
},
paint: {
'circle-radius': 5,
'circle-opacity': 0.9,
'circle-color': '#fc691d'
},
'source-layer': 'all_month-810n6l'
})
map.addSource('earthquakes-week', {
type: 'vector',
url: 'mapbox://vormir.6p6wjj7v',
generateId: true
})
map.addLayer({
id: 'earthquakes-week',
type: 'circle',
source: 'earthquakes-week',
layout: {
'visibility': 'visible'
},
paint: {
'circle-radius': 5,
'circle-opacity': 0.9,
'circle-color': '#6deb9c'
},
'source-layer': 'all_week-7i42kp'
})
})
如何将USGS api 响应绘制为Mapbox 矢量瓦片集?任何帮助将不胜感激。