Hallo zusammen,
so langsam nimmt meine Seite Gestalt an. Was ich mich jetzt frage, was ich suche:
Gibt es eine Möglichkeit die GoogleMaps aus Routenplaner zu "missbrauchen"? Ich stelle mir das so vor, dass die Zieladresse festgelegt ist und man die Startadresse eingeben kann und dann die Route angezeigt bekommt. Kann z.B. auch so gehen, dass der Zielpunkt als Karte standardmäßig angezeigt wird, und sobald man eine Startadresse eingibt und START klickt, eine Route gerechnet und angezeigt wird.
Ja, ich weiß, dass es externe Routenplaner gibt, die man einbinden kann; aber wieso 2 verschiedene Kartendienste einbinden, wenn es mit einem funktioniert.
Viele Grüße
TH
CGGoogleMaps als Routenplaner, geht das
Re: CGGoogleMaps als Routenplaner, geht das
Missbrauch ? Das ist eine der Standardfunktionen.
Muster hier
http://www.athenahotellondon.co.uk/
auf die Karte klicken.
Muster hier
http://www.athenahotellondon.co.uk/
auf die Karte klicken.
Re: CGGoogleMaps als Routenplaner, geht das
WOW, das sieht ja genial aus; wie geht das??hlf wrote: Missbrauch ? Das ist eine der Standardfunktionen.
Muster hier
http://www.athenahotellondon.co.uk/
auf die Karte klicken.
Ich habe z.Z. eine andere Lösung, die aber nicht so elegant ist.
Seite: http://cmsms.fototeam-holler.de -> Anfahrt
Re: CGGoogleMaps als Routenplaner, geht das
Am einfachsten Code kopieren, Key und Startadresse ändern und den Sprachschalter auf de setzen (ist dort en).
Dann müssen nur noch die DIV's erscheinen map und directions und das war es - dauert nur ein paar Minuten.
Dann müssen nur noch die DIV's erscheinen map und directions und das war es - dauert nur ein paar Minuten.
Re: CGGoogleMaps als Routenplaner, geht das
Für einen Coder ist das vielleicht simpel, aber was ist mit den/dem normal sterblichen???hlf wrote: Am einfachsten Code kopieren, Key und Startadresse ändern und den Sprachschalter auf de setzen (ist dort en).
Dann müssen nur noch die DIV's erscheinen map und directions und das war es - dauert nur ein paar Minuten.
lg
TH
Re: CGGoogleMaps als Routenplaner, geht das
Der muss dann wohl auf die Hilfe eines Coders zurückgreifen.
Re: CGGoogleMaps als Routenplaner, geht das
Wer Texte schreiben kann der kann auch kopieren und einfügen und auch ändern.
Das kopieren und in den Metabereich der Seite setzen.
Der Key muss geändert werden (einen eigenen kann man sich kostenlos zur Domain passend bei G. holen:
Hier muss deine Adresse rein und dein Titel:
und hier muss die Sprache auf de geändert werden:
Damit das läuft muss der body tag geändert werden:
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:
und fertig ist der Salat.
Also nicht so umständlich denken einfach machen.
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>
Code: Select all
key=ABQIAAAA5FgXE0D9yHrSjL3Yo5j4YBR3PkS3eouF4zPJyfOcgbWjbeeDVxR4UE94_8n7T2kI29RwoSp8W0A9DA
Code: Select all
var address="110/114 Sussex Gardens Hyde Park London W2 1UA";
var titel="Athena Hotel";
Code: Select all
{ "locale": "en" });
Code: Select all
</__body onload="load()" onunload="GUnload()">
{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.
Last edited by hlf on Tue Jul 27, 2010 3:11 pm, edited 1 time in total.