150 Part III — Google Map Hacks
Listing 9-2(continued)var map;
var points = [];
var index = 0;
var infopanel;
EOF
}sub js_onLoad
{
my @markers;foreach my $point (@{$points})
{
push @markers,sprintf(“addmarker(%f,%f,’%s’);”,
$point->{x},
$point->{y},
$point->{title});
}my $template = <<EOF;
function onLoad() {
if (GBrowserIsCompatible()) {
infopanel = document.getElementById(“infopanel”);
map = new GMap(document.getElementById(“map”));
map.centerAndZoom(new GPoint(-0.64,52.909444), 2);
%s
}
}
EOFprintf($template,join(“\n”,@markers));}sub js_addmarker
{
print <<EOF;
function addmarker(x,y,title) {
var point = new GPoint(parseFloat(x),parseFloat(y));
points.push(point);
var marker = new GMarker(point);
map.addOverlay(marker);
infopanel.innerHTML = infopanel.innerHTML +
‘<a href=”#” onClick=”movemap(‘ + index + ‘);”>’ +
title +
‘</a><br/>’;
index++;
}