var map; var geocoder; var gdir; var address; var marker; var infotext; var adresse; var fromaddress; var toaddress; var myart2; var point; var lat; var lng; function load(myaddress,text,mylat,mylng,divID) { infotext=text; adresse=myaddress; if (!mylat) lat=0; if (!mylng) lng=0; if (mylat>0) lat=mylat; else lat=0; if (mylng>0) lng=mylng; else lng=0; if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById(divID)); map.addControl(new GLargeMapControl()); geocoder = new GClientGeocoder(); gdir = new GDirections(map, document.getElementById("directions")); GEvent.addListener(gdir, "error", handleErrors); showLocation(myaddress); } } function showAddress(response) { // map.clearOverlays(); if (!response || response.Status.code != 200) { alert("Die angegebene Adresse konnte leider nicht gefunden werden."); } else { place = response.Placemark[0]; if (lat>0) { point = new GLatLng(lat,lng); } else { point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]); } map.setCenter(point, 14); toaddress=place.address; // alert(toaddress); marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml("
"+infotext+"
"+place.address+"
"); map.checkResize(); } } function setFromAddressAndGo(response) { if (!response || response.Status.code != 200) { alert("Die angegebene Adresse konnte leider nicht gefunden werden."); } else { myart2=G_TRAVEL_MODE_DRIVING; place2 = response.Placemark[0]; fromaddress=place2.address; document.getElementById('fromAddress').value=place2.address; /* AJAX CALL ZUM WEGSPEICHERN DER ADRESSE savemapaddress(place2.address);*/ map.clearOverlays(); if (lat>0) gdir.load("from: " + fromaddress + " to: (" + lat + "," + lng + ")", {travelMode:myart2,locale:"de_DE" }); else gdir.load("from: " + fromaddress + " to: " + toaddress, {travelMode:myart2, locale:"de_DE" }); document.getElementById('info').style.display=''; } } function showLocation(address) { geocoder.getLocations(address, showAddress); } function setDirections() { geocoder.getLocations(document.getElementById('fromAddress').value, setFromAddressAndGo); } function handleErrors(){ if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) alert("Die angegebene Adresse konnte leider nicht gefunden werden. Bitte versuchen Sie es erneut!"); else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) alert("Fehler bei der Routenberechnung!"); else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) alert("Fehler bei der Routenberechnung!"); else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) alert("Fehler bei der Routenberechnung!"); else alert("Fehler bei der Routenberechnung!"); } function showmap(address,text,which) { infotext=text; adresse=address; load(address,0,0,which); }