JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&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);