Mapbox GL JS是基于WebGL的现代化地图渲染库,支持矢量切片、实时样式编辑和3D可视化,是打造高端地图应用的首选方案。
一、快速上手
mapboxgl.accessToken = "your-token";
const map = new mapboxgl.Map({
container: "map",
style: "mapbox://styles/mapbox/streets-v12",
center: [116.4, 39.9],
zoom: 10
});
二、自定义地图样式
Mapbox Studio提供了可视化样式编辑器,也可以通过代码动态修改样式。
map.on("load", () => {
map.addLayer({
id: "3d-buildings",
source: "composite",
"source-layer": "building",
type: "fill-extrusion",
paint: {
"fill-extrusion-color": "#aaa",
"fill-extrusion-height": ["get", "height"],
"fill-extrusion-opacity": 0.6
}
});
});
三、动态数据可视化
利用GeoJSON数据源实现实时动态效果,如轨迹回放、热力图等。
map.addSource("points", {
type: "geojson",
data: geojsonData
});
map.addLayer({
id: "heat",
type: "heatmap",
source: "points",
paint: {
"heatmap-weight": ["get", "mag"],
"heatmap-intensity": 0.8,
"heatmap-radius": 20
}
});
Mapbox GL JS代表了现代Web地图开发的方向,矢量切片+WebGL渲染带来了极致的视觉体验。