Forgot where I found this demo. I customized it a bit: <script type="text/javascript">
<!--
if (GBrowserIsCompatible()) {
var gmarkers = [];
var htmls = [];
var to_htmls = [];
var from_htmls = [];
var i=0;
function createMarker(point,name,html) {
var marker = new GMarker(point);
to_htmls[i] = html + '<br><font size="2" face="Arial">Directions: <b>To here</b> - <a href="javascript:fromhere(' + i + ')">From here</a></font>' +
'<br><font size="2" face="Arial">Start address:</font><form action="http://maps.google.com/maps" method="get" target="_blank">' +
'<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
'<INPUT value="Get Directions" TYPE="SUBMIT">' +
'<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() +
"(" + name + ")" +
'"/>';
from_htmls[i] = html + '<br><font size="2" face="Arial">Directions: <a href="javascript:tohere(' + i + ')">To here</a> - <b>From here</b></font>' +
'<br><font size="2" face="Arial">End address:</font><form action="http://maps.google.com/maps" method="get"" target="_blank">' +
'<input type="text" SIZE=40 MAXLENGTH=40 name="daddr" id="daddr" value="" /><br>' +
'<INPUT value="Get Directions" TYPE="SUBMIT">' +
'<input type="hidden" name="saddr" value="' + point.lat() + ',' + point.lng() +
"(" + name + ")" +
'"/>';
html = html + '<font size="2" face="Arial"><br>Directions: <a href="javascript:tohere('+i+')">To here</a> - <a href="javascript:fromhere('+i+')">From here</a></font>';
GEvent.addListener(marker, "mouseover", function() {
marker.openInfoWindowHtml(html);
});
gmarkers[i] = marker;
htmls[i] = html;
i++;
return marker;
}
function tohere(i) {
gmarkers[i].openInfoWindowHtml(to_htmls[i]);
}
function fromhere(i) {
gmarkers[i].openInfoWindowHtml(from_htmls[i]);
}
var yamp = new GMap2(document.getElementById("yamp"));
yamp.addControl(new GLargeMapControl());
yamp.addControl(new GMapTypeControl());
yamp.setCenter(new GLatLng(20.1234,-80.1234), 15);
var point = new GLatLng(20.1234,-80.1234);
var marker = createMarker(point,'123 YOUR ADDRESS HIGHWAY, 11111','<font size="2" face="Arial"><b>123 YOUR ADDRESS HIGHWAY, 11111</b><br>GPS: <em>Latitude:</em> 20.1234 <br><em>Longitude:</em> -80.1234</font>')
yamp.addOverlay(marker);
yamp.setMapType(G_HYBRID_MAP);
}
else {
alert("Sorry, the Google Maps API is not compatible with this browser");
}
//-->
</script>