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);
}