Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <!-- Notes: this will be fixed in 4 days as soon as mapbox api releases support for ray picking in order to show information about each individual room in a building reguardless of whether of not it is on the ground level. in this example the base height is 'floated' @ const secondfloorbase to resemble a cutout of an upper level in a building but the tooltip only shows at e.point where 'e' is the event of mourse move in the bounds where the extrusion is located @ a point on 2D map but not where it is as located in 3D space -->
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8' />
    <title>Extrude polygons for 3D indoor mapping.</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.52.0/mapbox-gl.js'></script>
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.52.0/mapbox-gl.css' rel='stylesheet' />
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
	<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

</head>
<body>


      <div id="splash-logo" class="loading" style="z-index:1000;">
          <div class="loading-logo">
		  
		  <!-- svg logo animation here -->
		  
              
<svg id="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 169.5 170.5" >
  <g id="layer1" transform="translate(-310.712 -449.123)">
    <path d="M480.222 534.164c0 46.966-37.946 85.04-84.755 85.04s-84.755-38.074-84.755-85.04c0-46.967 37.946-85.04 84.755-85.04 46.81 0 84.755 38.073 84.755 85.04z" id="path3793-1" fill="#c6c3c0"/>
    <path id="blackCircle"d="M473.198 533.96c0 42.93-34.801 77.73-77.73 77.73-42.93 0-77.73-34.8-77.73-77.73 0-42.929 34.8-77.73 77.73-77.73 42.929 0 77.73 34.801 77.73 77.73z" />
    <path id="ring" d="M472.05 534.164c0 42.295-34.287 76.582-76.583 76.582-42.295 0-76.582-34.287-76.582-76.582 0-42.296 34.287-76.583 76.582-76.583 42.296 0 76.583 34.287 76.583 76.583z"  fill="none" stroke="#b4b6b5" stroke-width=".603"/>
    <path id="C" d="M421.919 512.117c-6.821-.246-9.458-.605-11.035 4.058-.361.751-.485 2.499-.542 5.241l-.285 13.625c-.114 5.442-18.664 8.863-30.71 8.863-13.172 0-25.826-3.589-34.54-10.765-8.955-7.327-13.432-16.739-13.432-28.236 1.861-22.324 27.225-35.461 47.248-35.691 13.794-.004 16.192 4.618 24.567 5.58 2.49 0 4.417-1.842 5.782-5.524h2.229v26.94h-2.229c-4.566-14.25-13.786-23.44-30.04-22.544-19.948 2.88-31.028 16.538-32.24 30.62-1.136 16.84 9.215 34.62 32.313 36.137 4.956.267 13.76-.4 16.899-3.779 5.71-5.49 4.954-12.977 1.838-20.016-2.124-3.326-5.272-4.486-8.56-4.509h-2.108v-2.085h34.845z" fill="#5b5a59" />
    <path id="A" d="M460.763 595.921H414.65v-2.167h1.734c5.692 0 8.538-1.328 8.538-3.984 0-.625-.129-1.347-.385-2.168-.171-.546-.813-2.011-1.926-4.394l-4.622-9.9h-31.606l-3.66 7.733c-1.197 2.539-1.797 4.667-1.797 6.386 0 2.226 1.84 3.866 3.81 4.92 1.155.626 4 1.094 8.537 1.407v2.167h-28.952v-2.167c3.809-.508 7.019-2.422 9.63-5.742 1.283-1.6 3.123-4.862 5.52-9.783l31.135-63.39h1.22l31.392 65.147c2.953 6.132 5.414 10.018 7.382 11.659 1.455 1.21 7.51 1.914 10.163 2.109zm-44.386-25.558l-14.394-28.75-13.924 28.75z" fill="#5b5a59"/>
    <path id="morphToC" d="M367.326 493.993h22.52a7.32 7.32 0 0 1 7.336 7.335v10.434a7.32 7.32 0 0 1-7.335 7.335h-22.521a7.32 7.32 0 0 1-7.335-7.335v-10.434a7.32 7.32 0 0 1 7.335-7.335z" />
    <path id="morphToA"d="M397.699 557.218h18.492c1.144 0 2.066.922 2.066 2.067v31.819a2.062 2.062 0 0 1-2.066 2.066h-18.492a2.062 2.062 0 0 1-2.067-2.066v-31.82c0-1.144.922-2.066 2.067-2.066z" />
  </g>
</svg>
          </div>
      </div> 

  
<div id='map'></div>
<div class="footer">
  
<!--   <div class="social"><i class="fab fa-instagram"></i></div> -->
  <div class="social"><i class="fas fa-street-view"></i></div>
  <div class="social"><i class="fab fa-google-plus-g"></i></div>
  <div class="social"><i class="fab fa-pinterest-p"></i></div>
  <div class="social"><i class="fab fa-facebook-f"></i></div>
  <div class="social"><i class="fas fa-envelope-square"></i></div>
  <div class="social"><i class="fas fa-phone-square"></i></div>
</div>
<script>
 mapboxgl.accessToken ='pk.eyJ1IjoiYWx1a2FjaCIsImEiOiJ3US1JLXJnIn0.xrpBHCwvzsX76YlO-08kjg'
var map = new mapboxgl.Map({
    container: 'map',
    	style: 'mapbox://styles/greykrav/cjrhdonc388q12sk33hc8p397',

    center: [-87.61694, 41.86625],
    zoom: 15.99,
    pitch: 40,
    bearing: 20
});


var popup = new mapboxgl.Popup({
        closeButton: false,
        closeOnClick: false
    });


    map.on('mousemove', function(e) {
        var features = map.queryRenderedFeatures(e.point, { layers: ['room-extrusion'] });
        // Change the cursor style as a UI indicator.
        map.getCanvas().style.cursor = (features.length) ? 'pointer' : '';

        if (!features.length) {
            popup.remove();
            return;
        }

        var feature = features[0];

        popup.setLngLat(e.lngLat)
            .setText(features[0]['properties']['name'])
            .addTo(map);
    });






    map.on('click', function (e) {
     features = map.queryRenderedFeatures(e.point);
    console.log(features);
		if (features[0]){
		console.log('there is features');
		console.log(features[0]['properties']['name']);
        console.log(features);
	}
    });


map.on('load', function() {
  const secondfloorbase= 0;
  const secondfloorciel= 20;
    map.addLayer({
        'id': 'room-extrusion',
        'type': 'fill-extrusion',
        'source': {
            // GeoJSON Data source used in vector tiles, documented at
            // https://gist.github.com/ryanbaumann/a7d970386ce59d11c16278b90dde094d
            'type': 'geojson',
            'data': {
"features": [
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Bird Exhibit",
"height": 0,
"base_height": 0,
"color": "orange"
},
"geometry": {
"coordinates": [
[
[
-87.618312,
41.866282
],
[
-87.61832,
41.866674
],
[
-87.618087,
41.866676
],
[
-87.618087,
41.866661
],
[
-87.617423,
41.86667
],
[
-87.617416,
41.8663
],
[
-87.618312,
41.866282
]
]
],
"type": "Polygon"
},
"id": "06e8fa0b3f851e3ae0e1da5fc17e111e"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Bird Exhibit",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.617808,
41.866266
],
[
-87.617806,
41.866293
],
[
-87.617415,
41.866298
],
[
-87.617424,
41.866671
],
[
-87.617382,
41.866669
],
[
-87.617371,
41.866274
],
[
-87.617808,
41.866266
]
]
],
"type": "Polygon"
},
"id": "08a10ab2bf15c4d14669b588062f7f08"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "East Hallway",
"base_height": 0,
"height": 0,
"color": "indigo"
},
"geometry": {
"coordinates": [
[
[
-87.616704,
41.866141
],
[
-87.616707,
41.866338
],
[
-87.61572,
41.866355
],
[
-87.61572,
41.866148
],
[
-87.616704,
41.866141
]
]
],
"type": "Polygon"
},
"id": "09ead44537d94ece576c7bc001c33e53"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "East Entrance",
"base_height": 0,
"height": 0,
"color": "violet"
},
"geometry": {
"coordinates": [
[
[
-87.61544,
41.866149
],
[
-87.615449,
41.866358
],
[
-87.615721,
41.866355
],
[
-87.61572,
41.866143
],
[
-87.61544,
41.866149
]
]
],
"type": "Polygon"
},
"id": "12251ebf764b36cf3b8c5ad42e2deb29"
},
{
"type": "Feature",
"properties": {
"height": 0,
"base_height": 0,
"level": 1,
"name": "Under the Earth",
"color": "red"
},
"geometry": {
"coordinates": [
[
[
-87.616701,
41.865816
],
[
-87.616705,
41.866115
],
[
-87.615712,
41.866125
],
[
-87.615706,
41.865802
],
[
-87.615936,
41.865801
],
[
-87.615938,
41.865824
],
[
-87.616701,
41.865816
]
]
],
"type": "Polygon"
},
"id": "1ce4f8c186a40b9927006644e27bfd69"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Atrium",
"base_height": 0,
"height": 0,
"color": "yellow"
},
"geometry": {
"coordinates": [
[
[
-87.617365,
41.865799
],
[
-87.6167,
41.865815
],
[
-87.616718,
41.866672
],
[
-87.617384,
41.86667
],
[
-87.617365,
41.865799
]
]
],
"type": "Polygon"
},
"id": "369f5d8865e677120b7576b1de6082eb"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Ancient Egypt",
"height": 0,
"base_height": 0,
"color": "blue"
},
"geometry": {
"coordinates": [
[
[
-87.61807,
41.865761
],
[
-87.618299,
41.865758
],
[
-87.618307,
41.866139
],
[
-87.617407,
41.86615
],
[
-87.617399,
41.865799
],
[
-87.61807,
41.865789
],
[
-87.61807,
41.865761
]
]
],
"type": "Polygon"
},
"id": "3e9f198afe6d7dff01ac81c6eaa511fb"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "West Arch",
"height": 40,
"base_height": 30,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.617424,
41.86667
],
[
-87.617384,
41.86667
],
[
-87.617365,
41.865799
],
[
-87.617405,
41.865799
],
[
-87.617424,
41.86667
]
]
],
"type": "Polygon"
},
"id": "402706f28b793d27c78d9615fff747f2"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Bird Exhibit",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.618312,
41.866283
],
[
-87.61797,
41.866288
],
[
-87.617972,
41.866265
],
[
-87.618312,
41.866259
],
[
-87.618312,
41.866283
]
]
],
"type": "Polygon"
},
"id": "43e1e2fc8399dee075ad59764f2a2878"
},
{
"type": "Feature",
"properties": {
"name": "Arch",
"level": 1,
"color": "grey",
"base_height": 30,
"height": 40
},
"geometry": {
"coordinates": [
[
[
-87.617971,
41.866291
],
[
-87.617973,
41.866265
],
[
-87.617805,
41.866267
],
[
-87.617806,
41.866294
],
[
-87.617971,
41.866291
]
]
],
"type": "Polygon"
},
"id": "4528ad9b9264cbec65bb2e55ac0012c1"
},
{
"type": "Feature",
"properties": {
"level": 1,
"color": "grey",
"base_height": 30,
"height": 40,
"name": "Arch"
},
"geometry": {
"coordinates": [
[
[
-87.617979,
41.866167
],
[
-87.617797,
41.866168
],
[
-87.617799,
41.866145
],
[
-87.617976,
41.866144
],
[
-87.617979,
41.866167
]
]
],
"type": "Polygon"
},
"id": "4be6817c3b595042c8d971eebd0c4fd3"
},
{
"type": "Feature",
"properties": {
"name": "Kids Zone",
"level": 1,
"base_height": 0,
"height": 0,
"color": "green"
},
"geometry": {
"coordinates": [
[
[
-87.616718,
41.866675
],
[
-87.616709,
41.866371
],
[
-87.615725,
41.866381
],
[
-87.615732,
41.866711
],
[
-87.61596,
41.866711
],
[
-87.61596,
41.866688
],
[
-87.616718,
41.866675
]
]
],
"type": "Polygon"
},
"id": "5775eba03674ea1cb3550ffb38321432"
},
{
"type": "Feature",
"properties": {
"level": 1,
"color": "grey",
"name": "Arch",
"height": 40,
"base_height": 30
},
"geometry": {
"coordinates": [
[
[
-87.616286,
41.866119
],
[
-87.616286,
41.866144
],
[
-87.616089,
41.866149
],
[
-87.616086,
41.86612
],
[
-87.616286,
41.866119
]
]
],
"type": "Polygon"
},
"id": "598832b1512dc9facc855c5367251531"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Arch",
"color": "grey",
"height": 40,
"base_height": 30
},
"geometry": {
"coordinates": [
[
[
-87.616287,
41.866343
],
[
-87.616288,
41.866374
],
[
-87.616076,
41.866378
],
[
-87.616077,
41.866347
],
[
-87.616287,
41.866343
]
]
],
"type": "Polygon"
},
"id": "59ed13d4411ff5f88714d9af539788d2"
},
{
"type": "Feature",
"properties": {
"level": 1,
"color": "grey",
"name": "center_arch",
"base_height": 30,
"height": 40
},
"geometry": {
"coordinates": [
[
[
-87.61737,
41.866198
],
[
-87.617372,
41.86624
],
[
-87.616708,
41.866243
],
[
-87.616708,
41.866203
],
[
-87.61737,
41.866198
]
]
],
"type": "Polygon"
},
"id": "67f8952a18dfe21ee0744a3e86bc41d8"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Kids Zone",
"height": 0,
"base_height": 40,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.615719,
41.866354
],
[
-87.615718,
41.866381
],
[
-87.616077,
41.866378
],
[
-87.616077,
41.866347
],
[
-87.615719,
41.866354
]
]
],
"type": "Polygon"
},
"id": "6bb2c92386bcf4678113d6b3e400ae3b"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Under the Earth",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.616089,
41.866149
],
[
-87.616089,
41.866119
],
[
-87.615711,
41.866124
],
[
-87.615713,
41.866147
],
[
-87.616089,
41.866149
]
]
],
"type": "Polygon"
},
"id": "844c87987089df6b9db3923f6a00e4d6"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Under the Earth",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.616707,
41.866115
],
[
-87.616286,
41.866119
],
[
-87.616285,
41.866144
],
[
-87.616705,
41.866141
],
[
-87.616707,
41.866115
]
]
],
"type": "Polygon"
},
"id": "85547a1ecdbd2ca1fdc6324aea3c6b70"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "North Entrance",
"height": 0,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.617386,
41.86667
],
[
-87.617388,
41.866786
],
[
-87.617228,
41.866786
],
[
-87.617226,
41.866848
],
[
-87.616867,
41.866849
],
[
-87.616868,
41.866791
],
[
-87.616718,
41.866791
],
[
-87.616718,
41.866672
],
[
-87.617386,
41.86667
]
]
],
"type": "Polygon"
},
"id": "91ab1ee01729c33568c7b57eb258e699"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Ancient Egypt",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.617394,
41.865799
],
[
-87.617405,
41.86615
],
[
-87.617802,
41.866147
],
[
-87.6178,
41.866167
],
[
-87.617369,
41.866172
],
[
-87.617364,
41.865799
],
[
-87.617394,
41.865799
]
]
],
"type": "Polygon"
},
"id": "943171d55d207024791e15294def7e8f"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Ancient Egypt",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.617976,
41.866166
],
[
-87.617976,
41.866143
],
[
-87.618309,
41.866139
],
[
-87.618309,
41.866161
],
[
-87.617976,
41.866166
]
]
],
"type": "Polygon"
},
"id": "a37230898905988cab9b72927dc99258"
},
{
"type": "Feature",
"properties": {
"name": "West Hallway",
"level": 1,
"base_height": 0,
"height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.618309,
41.866161
],
[
-87.618312,
41.86626
],
[
-87.61737,
41.866272
],
[
-87.61737,
41.86617
],
[
-87.618309,
41.866161
]
]
],
"type": "Polygon"
},
"id": "c7cc79da8711d746985f23a9b22c1d5e"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "Kids Zone",
"height": 40,
"base_height": 0,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.616286,
41.866343
],
[
-87.616286,
41.866374
],
[
-87.61671,
41.866371
],
[
-87.616708,
41.866338
],
[
-87.616286,
41.866343
]
]
],
"type": "Polygon"
},
"id": "cfbf2aee6a73a45c12e7fc7432d6009e"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "South Entrance",
"height": 0,
"base_height": 0,
"color": "teal"
},
"geometry": {
"coordinates": [
[
[
-87.617359,
41.865801
],
[
-87.617355,
41.865674
],
[
-87.617221,
41.865677
],
[
-87.617219,
41.86559
],
[
-87.616824,
41.865595
],
[
-87.616826,
41.86568
],
[
-87.616695,
41.865683
],
[
-87.6167,
41.865813
],
[
-87.617359,
41.865801
]
]
],
"type": "Polygon"
},
"id": "d71ab89467076ad023161c37f4ff0d5f"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "East Arch",
"height": 40,
"base_height": 30,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.616688,
41.866675
],
[
-87.616716,
41.866675
],
[
-87.616699,
41.865814
],
[
-87.616665,
41.865814
],
[
-87.616688,
41.866675
]
]
],
"type": "Polygon"
},
"id": "dd2baec57e4079eb65dcae5be495da62"
},
{
"type": "Feature",
"properties": {
"level": 1,
"name": "outer-walls",
"base_height": 0,
"height": 40,
"color": "grey"
},
"geometry": {
"coordinates": [
[
[
-87.618087,
41.86666
],
[
-87.618087,
41.866674
],
[
-87.618319,
41.866674
],
[
-87.618298,
41.865757
],
[
-87.618326,
41.865756
],
[
-87.618347,
41.866693
],
[
-87.618068,
41.866696
],
[
-87.618067,
41.866675
],
[
-87.61741,
41.866684
],
[
-87.617416,
41.866802
],
[
-87.617247,
41.866803
],
[
-87.617246,
41.866866
],
[
-87.616846,
41.866868
],
[
-87.616848,
41.866807
],
[
-87.61669,
41.866811
],
[
-87.616693,
41.866693
],
[
-87.615992,
41.866701
],
[
-87.615992,
41.866729
],
[
-87.615703,
41.866733
],
[
-87.615689,
41.866377
],
[
-87.615412,
41.866382
],
[
-87.615411,
41.866122
],
[
-87.615689,
41.866119
],
[
-87.615682,
41.865781
],
[
-87.615966,
41.865779
],
[
-87.615969,
41.865798
],
[
-87.616669,
41.865794
],
[
-87.616663,
41.865662
],
[
-87.6168,
41.865661
],
[
-87.616796,
41.865571
],
[
-87.61726,
41.865559
],
[
-87.617258,
41.865654
],
[
-87.617388,
41.865652
],
[
-87.617395,
41.865778
],
[
-87.618045,
41.865773
],
[
-87.618044,
41.865742
],
[
-87.618325,
41.865739
],
[
-87.618326,
41.865758
],
[
-87.61807,
41.865761
],
[
-87.61807,
41.865789
],
[
-87.617356,
41.8658
],
[
-87.617356,
41.865672
],
[
-87.617218,
41.865677
],
[
-87.617215,
41.86559
],
[
-87.616822,
41.865595
],
[
-87.616827,
41.86568
],
[
-87.616694,
41.865681
],
[
-87.616697,
41.865813
],
[
-87.615939,
41.865824
],
[
-87.615937,
41.8658
],
[
-87.615706,
41.865802
],
[
-87.615713,
41.866143
],
[
-87.615441,
41.86615
],
[
-87.61545,
41.866357
],
[
-87.615724,
41.866353
],
[
-87.615733,
41.866712
],
[
-87.615959,
41.86671
],
[
-87.615959,
41.866688
],
[
-87.616719,
41.866672
],
[
-87.61672,
41.866791
],
[
-87.616869,
41.86679
],
[
-87.616868,
41.86685
],
[
-87.617223,
41.866847
],
[
-87.617227,
41.866786
],
[
-87.617387,
41.866785
],
[
-87.617383,
41.86667
],
[
-87.618087,
41.86666
]
]
],
"type": "Polygon"
},
"id": "ef6512f46485e27963c248bcc945c3db"
}
],
"type": "FeatureCollection"
}
        },
        'paint': {
            // See the Mapbox Style Specification for details on data expressions.
            // https://docs.mapbox.com/mapbox-gl-js/style-spec/#expressions

            // Get the fill-extrusion-color from the source 'color' property.
            'fill-extrusion-color': ['get', 'color'],

            // Get fill-extrusion-height from the source 'height' property.
            'fill-extrusion-height': ['get', 'height'],

            // Get fill-extrusion-base from the source 'base_height' property.
            'fill-extrusion-base': ['get', 'base_height'],

            // Make extrusions slightly opaque for see through indoor walls.
            'fill-extrusion-opacity': 0.9
        }
    });
});
</script>

</body>
</html>
              
            
!

CSS

              
                body {
    margin: 0;
    padding: 0;
}

#map {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
}

#C,
#A {
    visibility: hidden;
}

.footer {
    padding: 20px 0;
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px;
    /* Height of the footer */
    background: #ddd;
    z-index: 10;
}

.social {
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px;
    line-height: 40px;
    font-family: Entypo;
    font-size: 35px;
    text-align: center;
    color: #bbb;
    border-radius: 50%;
    background: #eee;
    overflow: hidden;
    transition: color .3s;
}

.social:hover {
    color: #59d;
    cursor: pointer;
}

.social {
    box-shadow: rgb(210, 210, 210) 1px 1px, rgb(210, 210, 210) 2px 2px, rgb(211, 211, 211) 3px 3px, rgb(211, 211, 211) 4px 4px, rgb(211, 211, 211) 5px 5px, rgb(212, 212, 212) 6px 6px, rgb(212, 212, 212) 7px 7px, rgb(212, 212, 212) 8px 8px, rgb(213, 213, 213) 9px 9px, rgb(213, 213, 213) 10px 10px, rgb(214, 214, 214) 11px 11px, rgb(214, 214, 214) 12px 12px, rgb(214, 214, 214) 13px 13px, rgb(215, 215, 215) 14px 14px, rgb(215, 215, 215) 15px 15px, rgb(215, 215, 215) 16px 16px, rgb(216, 216, 216) 17px 17px, rgb(216, 216, 216) 18px 18px, rgb(216, 216, 216) 19px 19px, rgb(217, 217, 217) 20px 20px, rgb(217, 217, 217) 21px 21px, rgb(218, 218, 218) 22px 22px, rgb(218, 218, 218) 23px 23px, rgb(218, 218, 218) 24px 24px, rgb(219, 219, 219) 25px 25px, rgb(219, 219, 219) 26px 26px, rgb(219, 219, 219) 27px 27px, rgb(220, 220, 220) 28px 28px, rgb(220, 220, 220) 29px 29px, rgb(221, 221, 221) 30px 30px;
    text-shadow: rgb(226, 226, 226) 1px 1px, rgb(227, 227, 227) 2px 2px, rgb(227, 227, 227) 3px 3px, rgb(228, 228, 228) 4px 4px, rgb(229, 229, 229) 5px 5px, rgb(229, 229, 229) 6px 6px, rgb(230, 230, 230) 7px 7px, rgb(230, 230, 230) 8px 8px, rgb(231, 231, 231) 9px 9px, rgb(232, 232, 232) 10px 10px, rgb(232, 232, 232) 11px 11px, rgb(233, 233, 233) 12px 12px, rgb(233, 233, 233) 13px 13px, rgb(234, 234, 234) 14px 14px, rgb(235, 235, 235) 15px 15px, rgb(235, 235, 235) 16px 16px, rgb(236, 236, 236) 17px 17px, rgb(236, 236, 236) 18px 18px, rgb(237, 237, 237) 19px 19px, rgb(238, 238, 238) 20px 20px;
}

i {
    font-size: 30px;
}


/* ========================Animation ========================*/

<!-- .hide-splash {
    display: none;
}

.loading {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #DDDDDD;
}

.loading-logo {
    width: 300px;
    position: absolute;
    top: 5vh;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
}

#splash-logo {
    text-align: center;
}

.draw {
    animation: draw 3000ms ease-in-out infinite;
    stroke: #000000;
}

@keyframes draw {
    0% {
        stroke-dasharray: 0 400;
        stroke-dashoffset: 200;
        fill-opacity: 0;
        stroke-width: 2;
    }
    37% {
        stroke-dasharray: 200 0;
        stroke-dashoffset: 200;
        fill-opacity: 0;
        stroke-width: 2;
    }
    50% {
        fill-opacity: 1;
        stroke-width: 0;
    }
    85% {
        stroke: #767c8f;
        ;
        stroke-width: 2;
        fill-opacity: .7
    }
    100% {
        fill-opacity: 0;
        stroke-width: 0;
    }
}

@keyframes invis {
    25% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
}

--> svg {
    height: 80vh;
    margin: 5vh;
}
              
            
!

JS

              
                
       window.onload = function(){
    
		  setTimeout(function(){ $('#splash-logo').fadeOut() }, 4000);
       }
     


TweenLite.set('#morphToC,#morphToA',{fill:'none'});

var action = new TimelineMax({repeat:-1,repeatDelay:1,delay:1})
.staggerFrom('#blackCircle, #ring',0.4,{scale:0, transformOrigin:"center", ease: Sine.easeIn},0.1)
.to("#morphToC",1,{morphSVG: "#C", fill:'#5b5a59', ease: Expo.easeInOut})
.to("#morphToA",1,{morphSVG: "#A", fill:'#5b5a59', ease: Expo.easeInOut},"-=0.8")

              
            
!
999px

Console