Wer Texte schreiben kann der kann auch kopieren und einfügen und auch ändern.
Das kopieren und in den Metabereich der Seite setzen.
Code: Select all
<__script__ src=" http://maps.google.com/?file=api&v=2.x&key=ABQIAAAA5FgXE0D9yHrSjL3Yo5j4YBR3PkS3eouF4zPJyfOcgbWjbeeDVxR4UE94_8n7T2kI29RwoSp8W0A9DA" type="text/javascript"></__script>
<__script__ type="text/javascript">
//<![CDATA[
var map;
var gdir;
var geocoder = null;
var addressMarker;
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setMapType(G_NORMAL_MAP);
gdir = new GDirections(map, document.getElementById("directions"));
GEvent.addListener(gdir, "load", onGDirectionsLoad);
GEvent.addListener(gdir, "error", handleErrors);
var address="110/114 Sussex Gardens Hyde Park London W2 1UA";
var titel="Athena Hotel";
var zoom=17;
var point;
geocoder = new GClientGeocoder();
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
showAddress(address);
}
}
function setDirections(fromAddress, toAddress, locale) {
gdir.load("from: " + fromAddress + " to: " + toAddress,
{ "locale": "en" });
}
function showAddress(address, popUpHtml) {
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " nicht gefunden");
} else {
map.setCenter(point, 17);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(titel);
}
}
);
}
}
function handleErrors(){
if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
alert("Start- oder auch Zieladresse konnten nicht gefunden werden. Entweder sind sie nicht bekannt, nicht eindeutig oder die Eingabe ist nicht korrekt. Bitte überprüfen Sie die Eingabe.\nError code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
alert("Die Route konnte nicht berechnet werden.\n Error code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
alert("Bitte geben Sie eine Startadresse ein.\n Error code: " + gdir.getStatus().code);
// else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS) <--- Doc bug... this is either not defined, or Doc is wrong
// alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_BAD_KEY)
alert("Falscher Google Maps Key. \n Error code: " + gdir.getStatus().code);
else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
alert("Die Anfrage konnte nicht geparsed werden.\n Error code: " + gdir.getStatus().code);
else alert("Unbekannter Fehler. Bitte überprüfen Sie die Eingabe.");
}
function onGDirectionsLoad(){
// Use this function to access information about the latest load()
// results.
// e.g.
// document.getElementById("getStatus").innerHTML = gdir.getStatus().code;
// and yada yada yada...
}
//]]>
</__script>
Der Key muss geändert werden (einen eigenen kann man sich kostenlos zur Domain passend bei G. holen:
Code: Select all
key=ABQIAAAA5FgXE0D9yHrSjL3Yo5j4YBR3PkS3eouF4zPJyfOcgbWjbeeDVxR4UE94_8n7T2kI29RwoSp8W0A9DA
Hier muss deine Adresse rein und dein Titel:
Code: Select all
var address="110/114 Sussex Gardens Hyde Park London W2 1UA";
var titel="Athena Hotel";
und hier muss die Sprache auf de geändert werden:
Damit das läuft muss der body tag geändert werden:
Code: Select all
</__body onload="load()" onunload="GUnload()">
Am besten macht man eine Zuweisung an Smarty im Metabereich und setzt den Tag im Haupttemplate ein:
{assign var='bodytag' value=' onload="load()" onunload="GUnload()"'}
Im Haupttemplate dann
Da der bodytag in den anderen Seiten nicht gesetzt ist taucht der da auch nicht auf.
Dann den Kram in die Seite setzen und die Adresse auf deine ändern, wie auch die paar englischen Teile:
Code: Select all
<div style="width: 685px; height: 400px;" id="map">
</div>
<p>
</p>
<p><strong><font size="3"><u>Approach:</u></font></strong>
</p>
<form onsubmit="setDirections(this.from.value, this.to.value, 'en'); return false">
<p>Start address:
<input id="fromAddress" size="25" name="from" />
<br /><smaller>Format: street, zip city, country
<br />
<input id="toAddress" value="110/114 Sussex Gardens Hyde Park London W2 1UA " size="25" name="to" type="hidden" />
<br />
<input value="Evaluate route!" name="submit" type="submit" /></smaller>
<br />
</p>
</form>
<p>
</p>
<div style="width: 685px;" id="directions">
</div>
und fertig ist der Salat.
Also nicht so umständlich denken einfach machen.