JSFiddle - React, Tailwind, and code Playground

HTML

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
 <div id="map_canvas"></div>

CSS

html, body, #map_canvas { margin: 0; padding: 0; height: 100% }

JavaScript

var map;
      var markers = [];

      var iconHeight = 57;

      var mapOptions = { center: new google.maps.LatLng(0.0, 0.0), zoom: 2,
        mapTypeId: google.maps.MapTypeId.ROADMAP };

      function initialize() {
        map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
        google.maps.event.addListener(map, 'click', function(event) {
          addMarker(event.latLng);
        });

        google.maps.event.addListener(map, 'rightclick', function(event) {
          fitIcons();
        });

      }

      function addMarker(pos) {
        var tmpMarker = new google.maps.Marker({
          map: map,
          position: pos,
          //icon: "http://placehold.it/36x57"
          icon: "http://placekitten.com/36/57"
        });

        markers.push(tmpMarker);
      }

      function fitIcons() {
        var left = 180.0;
        var right = -180.0;
        var top = -90.0;
        var bottom = 90.0;

        for (var i = 0; i < markers.length; i++) {
          curlat = markers[i].getPosition().lat();
          curlng = markers[i].getPosition().lng();
          if(curlat > top)    { top = curlat; }
          if(curlat < bottom) { bottom = curlat; }
          if(curlng > right)  { right = curlng; }
          if(curlng < left)   { left = curlng; }
        }

        //setup for getting pixel position          
        var overlay = new google.maps.OverlayView();
        overlay.draw = function() {};
        overlay.setMap(map);
             
        map.fitBounds(new google.maps.LatLngBounds(
          new google.maps.LatLng(bottom, left),
          new google.maps.LatLng(top, right)));

        // heights available
        topPixels = overlay.getProjection().fromLatLngToContainerPixel(
                      new google.maps.LatLng(top, right));

        bottomPixels = overlay.getProjection().fromLatLngToContainerPixel(
                      new google.maps.LatLng(bottom, left));
                      
        topGap =...