JSFiddle - React, Tailwind, and code Playground
by karthick6891
HTML
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry,places&ext=.js"></script>
<div id="success"></div>
<div id="info"></div>
<div id="map-canvas"></div>
<h4 id="place_id"></h4>
CSS
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
JavaScript
var map;
var infowindow;
var service;
var data_id;
var count = 1;
var request;
var placeIDs = [];
function initialize() {
map = new google.maps.Map(document.getElementById('map-canvas'), {
center: new google.maps.LatLng(37.2511786, -76.6712974),
zoom: 11
});
infowindow = new google.maps.InfoWindow();
/* makeRequest('get_locations.php', function (data) {
*/
/* var data = JSON.parse(data.responseText); */
var bounds = new google.maps.LatLngBounds();
var errorCnt = 0;
var successCnt = 0;
for (var i = 0; i < data.length; i++) {
placeIDs[i] = data[i]['place_id'];
infoWindow = new google.maps.InfoWindow();
service = new google.maps.places.PlacesService(map);
service.getDetails({
placeId: placeIDs[i]
}, function (place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
successCnt += 1;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location,
title: place.name
});
for (var i = 0; i < place.address_components.length; i++) {
for (var j = 0; j < place.address_components[i].types.length; j++) {
if (place.address_components[i].types[j] == "street_number") {
document.getElementById('info').innerHTML += "street_number:" + place.address_components[i].long_name + "<br>";
}
}
}
console.log(place);
bounds.extend(marker.getPosition());
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(place.name + "<br>" + place.types + "<br><a href='" + place.url + "'>url</a>");
infowindow.open(map, this);
});
...