Circulation layers

by brockhicks

HTML

// Mapbox show/hide layers example: https://docs.mapbox.com/mapbox-gl-js/example/toggle-layers/

<!DOCTYPE html>
<html>

  <head>
    <meta charset='utf-8' />
    <title>Show and hide layers</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.0.0/mapbox-gl.js'></script>
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.0.0/mapbox-gl.css' rel='stylesheet' />
    <style>
      body {
        margin: 0;
        padding: 0;
      }

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

    </style>
  </head>

  <body>

    <style>
      #menu {
        background: #fff;
        position: absolute;
        z-index: 1;
        top: 10px;
        right: 10px;
        border-radius: 3px;
        width: 120px;
        border: 1px solid rgba(0, 0, 0, 0.4);
        font-family: 'Open Sans', sans-serif;
      }

      #menu a {
        font-size: 13px;
        color: #404040;
        display: block;
        margin: 0;
        padding: 0;
        padding: 10px;
        text-decoration: none;
        border-bottom: 1px solid rgba(0, 0, 0, 0.25);
        text-align: center;
      }

      #menu a:last-child {
        border: none;
      }

      #menu a:hover {
        background-color: #f8f8f8;
        color: #404040;
      }

      #menu a.active {
        background-color: #3887be;
        color: #ffffff;
      }

      #menu a.active:hover {
        background: #3074a4;
      }

    </style>

    <nav id="menu"></nav>
    <div id="map"></div>

    <script>
      mapboxgl.accessToken = 'pk.eyJ1IjoicG9seWdvbnMiLCJhIjoiY2ltd2FwZ2VzMDMzNHY3a2t4Znp0NTh1dyJ9.zvNdPb1M0EDbM8f7uEykLw';

      var map = new mapboxgl.Map({
        container: 'map',
        style: 'mapbox://styles/polygons/cjcuw41nr2dr32rmolmzm6opn',
        zoom: 13,
        minZoom: 12,
        maxZoom: 18,
        center: [-84.390157, 33.758329]
    ...

CSS

body {
  margin: 0;
  padding: 0;
}

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

.marker {
  background-image: url('coverage-offstreet-search.png');
  background-size: cover;
  width: 24px;
  height: 40px;
  cursor: pointer;
}

.fly {
  display: block;
  position: relative;
  float: right;
  margin-right: 8px;
  width: 120px;
  height: 40px;
  padding: 10px;
  border: none;
  border-radius: 3px;
  font-size: 12px;
  text-align: center;
  color: #fff;
  background: #111;
  font-family: 'Circular Pro', 'Open Sans', sans-serif;
}

#menu {
  background: #fff;
  position: absolute;
  z-index: 1;
  top: 80px;
  left: 16px;
  border-radius: 3px;
  width: 150;
  border: 1px solid rgba(0, 0, 0, 0.4);
  font-family: 'Circular Pro', 'Open Sans', sans-serif;
}

#menu a {
  font-size: 13px;
  color: #404040;
  display: block;
  margin: 0;
  padding: 0;
  padding: 10px;
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  text-align: left;
}

#menu a:last-child {
  border: none;
}

#menu a:hover {
  background-color: #f8f8f8;
  color: #404040;
}

#menu a.active {
  background-color: #3887be;
  color: #ffffff;
}

#menu a.active:hover {
  background: #3074a4;
}

.map-overlay {
  font: bold 12px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;
  position: absolute;
  width: 25%;
  top: 0;
  left: 0;
  padding: 10px;
}

.map-overlay .map-overlay-inner {
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.20);
  border-radius: 3px;
  padding: 10px;
  margin-bottom: 10px;
}

.map-overlay label {
  display: block;
  margin: 0 0 10px;
}

.map-overlay input {
  background-color: transparent;
  display: inline-block;
  width: 100%;
  position: relative;
  margin: 0;
  cursor: ew-resize;
}