JSFiddle - React, Tailwind, and code Playground
by Lawrence Ross
HTML
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry,places&ext=.js"></script>
<div id="advisor-map"></div>
CSS
html,
body,
#advisor-map {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
JavaScript
function initMap() {
var map = new google.maps.Map(document.getElementById("advisor-map"), {
zoom: 6,
center: {
lat: 55,
lng: 0
},
mapTypeId: "terrain"
});
for (var city in citymap) {
var cityCircle = new google.maps.Circle({
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: "#FF0000",
fillOpacity: 0.35,
map: map,
center: citymap[city].center,
title: city, // citymap[city].title,
radius: Math.sqrt(citymap[city].population) * 100
});
var infoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(cityCircle, "click", function(e) {
infoWindow.setContent(this.title);
infoWindow.setPosition(this.getCenter());
infoWindow.open(map);
});
}
}
google.maps.event.addDomListener(window, "load", initMap);
var citymap = {};
citymap['Mumbai'] = {
center: new google.maps.LatLng(19.075787, 72.8774882),
population: 14000
};
citymap['Cardiff'] = {
center: new google.maps.LatLng(51.4887969, -3.1826222),
population: 1000
};
citymap['Pune'] = {
center: new google.maps.LatLng(18.5212252, 73.8556156),
population: 14000
};
citymap['Beeston'] = {
center: new google.maps.LatLng(52.9547839, -1.1581733),
population: 3000
};
citymap['Birmingham'] = {
center: new google.maps.LatLng(52.4677785, -1.7230922),
population: 4000
};
citymap['Bristol'] = {
center: new google.maps.LatLng(51.5434779, -2.573748),
population: 2000
};
citymap['Brussels'] = {
center: new google.maps.LatLng(50.8891268, 4.4592719),
population: 1000
};
citymap['Crewe'] = {
center: new google.maps.LatLng(53.0888925, -2.4357559),
population: 2000
};
citymap['Dundee'] = {
center: new google.maps.LatLng(56.4563534, -2.9752489),
population: 1000
};
citymap['Durham'] = {
center: new google.maps.LatLng(54.5468172, -1.5703596),
population: 1000
};
citymap['Glasgow'] = {
center: new google.maps.LatLng(55.8601948, -4.256542),
...