JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&amp;sensor=false&amp;libraries=places"></script>
  <body>
    <div id="map-canvas"></div>
  </body>

CSS

html, body {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
#map-canvas{width:400px;height:400px}

JavaScript

function initialize() {
  var map = new google.maps.Map(document.getElementById('map-canvas'), {
    center: new google.maps.LatLng(30.21419, -81.520298),
    zoom: 15
  });

  var request = {
    reference: 'CnRuAAAAOQZsMVfkKq_9RLW-hIkg5rkdWBsuyF2WHzPo3ZxIXTUAOt_9smIC5TtyAs-63n2Vza4fLO4HaKj0sZjc8tdBwKp3KYvgmxXLDpnZaOgDBJQdBZhp0CuKSeYgW3wU6YNaAXiDKlhNsjWlvP0NJRGiAhIQx1HtRgxyhaYGZWdn24CyhBoU3YTW_pXvulRlLb7Al613HP5Kd8o'
  };

  var infowindow = new google.maps.InfoWindow();
  var service = new google.maps.places.PlacesService(map);

  service.getDetails(request, function(place, status) {
    if (status == google.maps.places.PlacesServiceStatus.OK) {
      var marker = new google.maps.Marker({
        map: map,
        position: place.geometry.location
      });
      google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent("<div class=\"popupWindow\"><p>"+place.name + "</p><p>" + place.formatted_address + "</p><p>" + place.photos + "</p><p>" + place.rating + "</p><p>" + place.reviews + "</p><p>" + place.website + "</p><p>" + place.price_level + "</p><p>" + place.formatted_phone_number + "</p></div>");
        infowindow.open(map, this);
      });
    }
  });
}

google.maps.event.addDomListener(window, 'load', initialize);