var map;
var gdir;
var geocoder = null;
var addressMarker;
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function initialize(latdest, longdest) 
 {
  if (GBrowserIsCompatible()) 
   {      
    map = new GMap2(document.getElementById("map_canvas"));
    map.setMapType(G_HYBRID_MAP);
   
    //map.setCenter(new GLatLng(40.420603, -3.688649), 15);     // Centra el mapa en unas coordenadas determinadas con un nivel de zoom (15)
    //var point = new GLatLng(40.420603, -3.688649);         // Crea un punto.
	map.setCenter(new GLatLng(latdest, longdest), 15);     // Centra el mapa en unas coordenadas determinadas con un nivel de zoom (15)
    var point = new GLatLng(latdest, longdest);         // Crea un punto.
    map.addOverlay(new GMarker(point));         // Pinta el punto en el mapa
    map.addControl(new GLargeMapControl());         // Define los controles que se veran sobre el mapa
    var mapControl = new GMapTypeControl();
    map.addControl(mapControl);
    gdir = new GDirections(map, document.getElementById("directions"));         //Asociamos el div 'directions' a las direcciones que devolverá Google Maps
    GEvent.addListener(gdir, "error", handleErrors);         //Listener para los errores que se produzcan cuando procese la petición
  }
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function setDirections(fromAddress, latdest, longdest)     //Función encargada de calcular la ruta con el API de Maps, le pasamos la dirección origen y longitud destino y latitud destino
 {
//  gdir.load("from: " + fromAddress + " to: @40.420603, -3.688649", { "locale": "es" });         //Como es de suponer la opción locale:es hace que la ruta que nos escriba esté en español.
  gdir.load("from: " + fromAddress + " to: @" + latdest + "," + longdest, { "locale": "es" }); 
 }
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function handleErrors()     //Manejo de errores
 {
  if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
   alert("No se puede calcular la ruta desde la dirección indicada, compruebe que está bien escrita o esta no sa ambigua");
  else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
   alert("Error desconocido");
  else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
   alert("No se ha introducido una dirección de inicio");
  else if (gdir.getStatus().code == G_GEO_BAD_KEY)
   alert("Clave usada por el mapa no valida o no corresponde con el dominio desde el que se usa.");
  else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
   alert("La dirección no puede ser parseada.");
    else alert("oppps ha ocurrido un error :(.");
 }
//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function onGDirectionsLoad()
{ 

}


