Hallo,
ich möchte mir einen Routenplaner per Google-Maps erstellen, der mit Variablen aus der URL gefüttert wird.
Der Routenplaner wird folgendermaßen aufgerufen:
.../routenplaner.html?start=Berlin&ziel=Hamburg
Soweit ist alles klar.
Die Variablen werden im Script wie folgt ausgelesen und mir auch korrekt angezeigt:
Nun sollte ich die beiden Variablen aber in die Routenplaner-Funktion bekommen:
Hab schon einiges versucht, aber er lädt mir immer nur die Zeile, die fest definiert wurde (falls keine Variablen da sind)... :-(
Hier noch zum Verständnis das ganze Script:
Ich hoffe es kann mir jemand helfen.
Bestimmt ist es nur eine Kleinigkeit...
Vielen Dank schonmal im Vorraus...
Mike²
ich möchte mir einen Routenplaner per Google-Maps erstellen, der mit Variablen aus der URL gefüttert wird.
Der Routenplaner wird folgendermaßen aufgerufen:
.../routenplaner.html?start=Berlin&ziel=Hamburg
Soweit ist alles klar.
Die Variablen werden im Script wie folgt ausgelesen und mir auch korrekt angezeigt:
HTML:
x=window.location.search;
x=x.substr(1);
vars=x.split("&");
vardiv1=vars[0].split("=");
vardiv2=vars[1].split("=");
document.writeln("Von: "+vardiv1[1]+"<br>");
document.writeln("Nach: "+vardiv2[1]+"");
HTML:
function setDirections(fromAddress, toAddress, locale) {
gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
}
HTML:
setDirections("Berlin", "Hamburg", "de_DE");
Code:
<!DOCTYPE html PUBLIC "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Routenplaner</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=mein KEY" type="text/javascript"></script>
<style type="text/css">
v\:* {
behavior:url(#default#VML);
}
body {
font-family: Verdana, Arial, sans serif;
font-size: 11px;
margin: 2px;
}
table.directions th {
background-color:#EEEEEE;
}
img {
color: #000000;
}
</style>
<script type="text/javascript">
//<![CDATA[
var map;
var gdir;
var geocoder = null;
var addressMarker;
x=window.location.search;
x=x.substr(1);
vars=x.split("&");
vardiv1=vars[0].split("=");
vardiv2=vars[1].split("=");
document.writeln("Von: "+vardiv1[1]+"<br>");
document.writeln("Nach: "+vardiv2[1]+"");
function setDirections(fromAddress, toAddress, locale) {
gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
}
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
gdir = new GDirections(map, document.getElementById("directions"));
GEvent.addListener(gdir, "load", onGDirectionsLoad);
GEvent.addListener(gdir, "error", handleErrors);
setDirections("Berlin", "Hamburg", "de_DE");
}
}
function handleErrors(){
if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
alert("Adresse existiert nicht (evtl. mit Latitude und Longitude versuchen)!\n Fehler: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
alert("Adresse wurde nicht gefungen (evtl. mit Latitude und Longitude versuchen)!\n Fehler: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
alert("Adresse vollständig angeben!\n Fehler: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_BAD_KEY)
alert("Google Maps API Key nicht gültig! Bitte nicht kopieren! Key kann auf http://www.google.com/apis/maps/signup.html beantragt werden! \n Fehler: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
alert("Fehler bei der Berechnung. Bitte nochmal versuchen!\n Fehler: " + gdir.getStatus().code);
else alert("Unbekannter Fehler!\n Fehler: " + gdir.getStatus().code);
}
function onGDirectionsLoad(){
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<br>
<table align="center" class="directions">
<td valign="top"><div id="map" style="width: 500px; height: 500px"></div></td>
<td valign="top"><div id="directions" style="width: 275px"></div></td>
</table>
</body>
</html>
Bestimmt ist es nur eine Kleinigkeit...
Vielen Dank schonmal im Vorraus...
Mike²