This is along the lines I have implemented if it is of any use :-
<title>My Site
type="text/javascript">
Your text here
var locations = [
['Point 1', 54.918356, -1.415040,'your file link on click.html'],
['Point 2', 50.015866, 14.525587,'your file link on click.html'],
['Point 3', 52.230204, 21.000769,'your file link on click.html'],
['Point 4', 59.907114, 30.398900,'your file link on click.html'],
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: new google.maps.LatLng(27.088825, 14.465118),
mapTypeId: google.maps.MapTypeId.ROADMAP,
streetViewControl: false,
mapTypeControl: false
});
var infowindow = new google.maps.InfoWindow({ maxWidth: 100});
var marker;
for (i = 0; i < locations.length; i++)
{
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
icon: 'images/beachflag.png',
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
window.open(locations[i][3], '_self');
}
})(marker, i));
google.maps.event.addListener(marker, 'mouseover', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
maxWidth: 100
}
})(marker, i));
}