Show polygon information via an array.
var map; var infoWindow; function initialize() { var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875); var mapOptions = { zoom: 5, center: myLatLng, mapTypeId: google.maps.MapTypeId.TERRAIN }; var bermudaTriangle; map = new google.maps.Map(document.getElementById(\'map-canvas\'), mapOptions); var triangleCoords = [ new google.maps.LatLng(25.774252, -80.190262), new google.maps.LatLng(18.466465, -66.118292), new google.maps.LatLng(32.321384, -64.75737) ]; bermudaTriangle = new google.maps.Polygon({ paths: triangleCoords, strokeColor: \'#FF0000\', strokeOpacity: 0.8, strokeWeight: 3, fillColor: \'#FF0000\', fillOpacity: 0.35 }); bermudaTriangle.setMap(map); Add a listener for the click event google.maps.event.addListener(bermudaTriangle, \'click\', showArrays); infoWindow = new google.maps.InfoWindow(); } ** @this {google.maps.Polygon} * function showArrays(event) { Since this Polygon only has one path, we can call getPath() to return the MVCArray of LatLngs var vertices = this.getPath(); var contentString = \'Bermuda Triangle Polygon
\'; contentString += \'Clicked Location:
\' + event.latLng.lat() + \',\' + event.latLng.lng() + \'
\'; Iterate over the vertices. for (var i =0; i < vertices.getLength(); i++) { var xy = vertices.getAt(i); contentString += \'
\' + \'Coordinate: \' + i + \'
\' + xy.lat() +\',\' + xy.lng(); } Replace our Info Window\'s content and position infoWindow.setContent(contentString); infoWindow.setPosition(event.latLng); infoWindow.open(map); } google.maps.event.addDomListener(window, \'load\', initialize);