Layers (31)
Display buildings in 3DExtrude polygons for 3D indoor mappingAdd a 3D modelAdjust a layer's opacityAnimate a lineAnimate a series of imagesAnimate a pointChange building color based on zoom levelChange the case of labelsDisplay HTML clusters with custom propertiesCreate and style clustersChange a layer's color with buttonsAdd a custom style layerStyle circles with a data-driven propertyStyle lines with a data-driven propertyDisplay and style rich text labelsAdd a pattern to a polygonAdd a new layer below labelsAdd a GeoJSON lineDraw GeoJSON pointsAdd a GeoJSON polygonCreate a heatmap layerCreate a gradient line using an expressionAdd multiple geometries from one GeoJSON sourceStyle ocean depth dataShow and hide layersChange worldview of administrative boundariesUpdate a choropleth layer by zoom levelVariable label placementVisualize population densityAdd hillshading

Style ocean depth data

Uses the interpolate expression with a cubic bezier curve expression to style bathymetry data.

<!DOCTYPE html>
<meta charset='utf-8' />
<title>Style ocean depth data</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.4.1/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.4.1/mapbox-gl.css' rel='stylesheet' />
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
<div id='map'></div>
mapboxgl.accessToken = '<your access token here>';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [142.591669, 11.373335],
zoom: 3,
minZoom: 3,
maxZoom: 5,
map.on('load', function() {
map.addSource('10m-bathymetry-81bsvj', {
type: 'vector',
url: 'mapbox://mapbox.9tm8dx88'
"id": "10m-bathymetry-81bsvj",
"type": "fill",
"source": "10m-bathymetry-81bsvj",
"source-layer": "10m-bathymetry-81bsvj",
"layout": {},
"paint": {
"fill-outline-color": "hsla(337, 82%, 62%, 0)",
// cubic bezier is a four point curve for smooth and precise styling
// adjust the points to change the rate and intensity of interpolation
"fill-color": [ "interpolate",
[ "cubic-bezier",
0, 0.5,
1, 0.5 ],
["get", "DEPTH"],
200, "#78bced",
9000, "#15659f"
}, 'land-structure-polygon');
Was this example helpful?