Style Modifications

Make modifications to an existing map style.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="https://maps-sdk.trimblemaps.com/v2/trimblemaps-2.3.1.css" />
        <script src="https://maps-sdk.trimblemaps.com/v2/trimblemaps-2.3.1.js"></script>
        <style>
            body { margin: 0; padding: 0; }

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

            .map-panel {
              position: absolute;
              width: 150px;
              top: 10px;
              left: 10px;
              padding: 10px 10px 5px 10px;
              background-color: #fff;
              box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
              font-family: Arial, Helvetica, sans-serif;
              font-size: .85em;
            }

            .map-panel label {
              display: block;
              margin-bottom: 3px;
            }

            .map-panel select {
              width: 100%;
              margin-bottom: 10px;
            }
        </style>
    </head>
    <body>
        <div id="map"></div>
        <div class="map-panel">
          <label for="mapLayer">Layer</label>
          <select id="mapLayer" name="mapLayer">
            <option value="water">Water</option>
            <option value="areas_facility">Sites</option>
          </select>
          <label for="color">Fill Color</label>
          <select id="color" name="color">
            <option value="#94c5eb">Default</option>
            <option value="#ffffff">White</option>
            <option value="#000000">Black</option>
            <option value="#882222">Red</option>
            <option value="#222288">Blue</option>
          </select>
        </div>

        <script>
            TrimbleMaps.APIKey = 'YOUR_API_KEY_HERE';
            const map = new TrimbleMaps.Map({
              container: 'map',
              center: new TrimbleMaps.LngLat(-74.7046646, 40.1536299),
              zoom: 14
            });

            const defaultColors = {
              'water': '#94c5eb',
              'areas_facility': 'rgba(227, 226, 238, 1)'
            }

            const mapLayerElem = document.getElementById('mapLayer');
            const colorElem = document.getElementById('color');

            mapLayerElem.addEventListener('change', function(e) {
              // Set default
              colorElem.options[0].value = defaultColors[mapLayerElem.value];

              // Set color select to layer color value
              colorElem.value = map.getPaintProperty(mapLayerElem.value, 'fill-color');
            });

            colorElem.addEventListener('change', function(e) {
              // Set layer fill to selected color
              map.setPaintProperty(mapLayerElem.value, 'fill-color', colorElem.value);
            });
        </script>
    </body>
</html>