Mapbox根据地形的高度渲染颜色。实现方式有两种,分别对应适合设计人员的mapboxstudio配置方式,以及适合开发人员的代码修改方式。惯例是先看最终效果查看交互最终效果。适用于设计师的做法是先新建一张图,任意选择基本样式,先设置好高度,这样就有一个线稿大概的轮廓,然后我们再新建一个图层。注意,在这一步中,可以通过选择如图所示的内容来获取地形高度信息。然后在type里面设置为fill-extrusion然后设置color就像着色一样,规则由你自定义。适用于开发者的方法需要注意,如果你使用自己的DEM源,需要为你更改源和高度获取方式数据源的支持值使用map.on('load',()=>{map.addSource('mapbox-dem',{"type":"vector","url":"mapbox://mapbox.mapbox-terrain-v2"});map.addLayer({id:'tinting-layer','source':'mapbox-dem','source-layer':'contour','type':'fill-extrusion',paint:{"fill-extrusion-color":["interpolate",["线性"],["get","ele"],-410,"hsl(253,98%,42%)",0,"hsl(237,94%,49%)",1000,"hsl(213,96%,64%),2000,"hsl(177,100%,50%)",3000,"hsl(119,100%,53%)",4000,"hsl(98,98%,69%)",5000,"hsl(69,95%,56%)",6000,"hsl(27,95%,56%)",7000,"hsl(0,96%,64%)"],"fill-extrusion-height":["interpolate",["linear"],["get","ele"],0,0,8840,8840]}})})以交互方式查看最终效果
