JSFiddle - React, Tailwind, and code Playground

by Luis Felipe Muñoz Arroyave

HTML

<script src="https://maps.googleapis.com/maps/api/js?v=3.22&amp;amp;libraries=visualization,places,drawing&amp;amp;signed_in=true"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"></script>
  <body >
    <div id="map"></div>
  </body>

CSS

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

JavaScript

var map;
var infowindow;
var radio = 20000;
var categoria = "biblioteca";

$(document).ready(function() {
	initMap();
});

function initMap() {
  var pyrmont = {lat: 6.264451386384785, lng: -75.57872772216797};

  map = new google.maps.Map(document.getElementById('map'), {
    center: pyrmont,
    zoom: 15
  });

  infowindow = new google.maps.InfoWindow();

  var service = new google.maps.places.PlacesService(map);
  service.nearbySearch({
    location: pyrmont,
    radius: radio,
    keyword: categoria
  }, callback);
}

function callback(results, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      createMarker(results[i]);
    }
  }
}

function createMarker(place) {
  var placeLoc = place.geometry.location;
  var marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(place.name);
    infowindow.open(map, this);
  });
}