D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
wboykinm
Full window
Github gist
oblique view
Built with
blockbuilder.org
<!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <title>Display buildings in 3D</title> <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.41.0/mapbox-gl.js'></script> <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.41.0/mapbox-gl.css' rel='stylesheet' /> <style> body { margin:0; padding:0; } #map { position:absolute; top:0; bottom:0; width:100%; } </style> </head> <body> <div id='map'></div> <script> mapboxgl.accessToken = 'pk.eyJ1IjoibGFuZHBsYW5uZXIiLCJhIjoicUtlZGgwYyJ9.UFYz8MD4lI4kIzk9bjGFvg'; var map = new mapboxgl.Map({ style: 'mapbox://styles/mapbox/light-v9', center: [-122.394710, 37.795097], zoom: 15, pitch: 60, bearing: 270, hash: true, container: 'map' }); // The 'building' layer in the mapbox-streets vector source contains building-height // data from OpenStreetMap. map.on('load', function() { // Insert the layer beneath any symbol layer. var layers = map.getStyle().layers.reverse(); var labelLayerIdx = layers.findIndex(function (layer) { return layer.type !== 'symbol'; }); var labelLayerId = labelLayerIdx !== -1 ? layers[labelLayerIdx].id : undefined; map.addLayer({ 'id': '3d-buildings', 'source': 'composite', 'source-layer': 'building', 'filter': ['==', 'extrude', 'true'], 'type': 'fill-extrusion', 'minzoom': 13, 'paint': { 'fill-extrusion-color': '#aaa', 'fill-extrusion-height': { 'type': 'identity', 'property': 'height' }, 'fill-extrusion-base': { 'type': 'identity', 'property': 'min_height' }, 'fill-extrusion-opacity': .6 } }, labelLayerId); }); </script> </body> </html>
https://api.tiles.mapbox.com/mapbox-gl-js/v0.41.0/mapbox-gl.js