Google Maps with Polygon and Marker
Google Maps API allows drawing polygons on maps. This demo shows how to build a map with a polygon and a marker altogether.
In the HTML page, add a div holding the map.
<div id="map-canvas"></div>
In JavaScript, first provide the marker location and an array with the coordinates for the polygon. Then in the initialization code, create a map with a marker and a polygon, while the boundary of the map automatically fits with the polygon.
var MarkerData = [49.272238, -123.122482, "Elsie Roy Elementary"];
var PathData = [
[49.2761419673641, -123.118069007778],
[49.2791259862655, -123.129144031353],
[49.2704849721733, -123.125236002048],
[49.2732990317854, -123.117229946411],
[49.2761419673641, -123.118069007778]
];
function initialize() {
var map =
new google.maps.Map(document.getElementById('map-canvas'));
var infowindow = new google.maps.InfoWindow();
var center =
new google.maps.LatLng(MarkerData[0], MarkerData[1]);
var marker = new google.maps.Marker({
position: center,
map: map,
title: MarkerData[2]
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.title);
infowindow.open(map, this);
});
var path = [];
var bounds = new google.maps.LatLngBounds();
bounds.extend(center);
for (var i in PathData)
{
var p = PathData[i];
var latlng = new google.maps.LatLng(p[0], p[1]);
path.push(latlng);
bounds.extend(latlng);
}
var poly = new google.maps.Polygon({
paths: path,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: '#FF0000',
fillOpacity: 0.1
});
poly.setMap(map);
map.fitBounds(bounds);
}
google.maps.event.addDomListener(window, 'load', initialize);
The following is the result.
View this demo in full screen.
Related Posts
- Google Maps with Multiple Markers and InfoWindow
- Online Store Locator using PHP, MySQL and Google Maps API