Sie müssen jedem Marker einen Ereignis-Listener hinzufügen. Der Click-Handler kann document.location
auf die URL der Seite festlegen, zu der Sie wechseln möchten.
Da Sie wahrscheinlich Marker in einer Schleife hinzufügen werden, müssen Sie sicherstellen, dass jeder seine eigene URL erhält. Da Closures die tatsächlichen Variablen behalten, auf die sie zugreifen (nicht ihre Werte), müssen Sie wahrscheinlich mindestens addListener
Code in eine eigene Funktion schreiben, um einen eigenen Bereich zu erstellen. Ihre Schleife Art würde wie folgt aussehen:
function createMarker(location, url) {
var marker = new GMarker(location);
GEvent.addListener(marker, "click", function() {
window.location = url;
});
return marker;
}
// Assuming locations is an array of objects with lat, lng, and url properties
for (var i = 0; i < locations.length; i++) {
var loc = locations[i];
map.addOverlay(createMarker(new GLatLng(loc.lat, loc.lng), loc.url));
}
Danke für die Hilfe! – Mike
Leser dieser Antwort sollten beachten, dass GEvent durch google.maps.event ersetzt werden muss, wenn Sie v3 der API verwenden. Schau dir die andere Antwort mit hohen Stimmen an! –