//Antes de nada... hay que incluir esto...
//<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=<? echo $api_key['clave']; ?>&hl=es"></script>	
	
function mapa_google(id_elemento, controles, v_localizacion)	//Un par de funcionalidades repetidas, pero no es tan malo... Tal vez más adelante lo haga mejor.
{				
	//Definimos las variables...	

	this.mapa = new GMap2(document.getElementById(id_elemento));
	this.mapa.resultado = new GLatLng;
	this.geocodeador =  new GClientGeocoder();	
	this.localizacion = '';
	var aquello=this;
	
	/*****************************/
	//Métodos
	/*****************************/

	//Establece la localización.
	this.establecer_localizacion = function(lugar)
	{
		if(lugar=='')
		{
			alert('No se ha especificado una localizacion para el objeto');
		}
		
		aquello.localizacion = lugar;
	}
	
	//Arranca el mapa.
	this.arrancar = function()
	{				
		var mapa_temp=aquello.mapa;
		mapa_temp.setMapType(G_NORMAL_MAP);

		if(!controles) 
		{
			mapa_temp.addControl(new GLargeMapControl()); 				
		}
		else 
		{
			mapa_temp.addControl(controles);			
		}
	}	
	
	//Supuestamente centra el mapa...
	this.poner_localizacion = function(sitio, zoom)	//Este es buscando...
	{		
		if(!zoom) 
		{
			zoom=15;
		}
		var mapa_temp=aquello.mapa;	//Lo hacemos local...

		this.geocodeador.getLatLng
		(
			sitio, 
			function (punto)			
			{
				if(!punto) 
				{
					alert('La localización no pudo ser encontrada');
				}
				else 
				{
					mapa_temp.setCenter(punto, zoom);																	
				}
			}
		);
	}
	
	//También centra.
	this.mapa.centrar = function(punto)
	{			
		if(!punto) 
		{
			alert('La localización no pudo ser encontrada');
		}
		else 
		{
			aquello.mapa.setCenter(punto, 15);					
			window.mensaje_ventana();
		}
	}
	
	//Pone un marker.
	this.poner_marcador = function(direccion)
	{			
		var mapa_temp=aquello.mapa;

		this.geocodeador.getLatLng
		(
			direccion, 
			function(resultado) 
			{	
				mapa_temp.addOverlay(new GMarker(resultado));
			}
		);						
	}

	
	/*****************************/
	// Inicio
	/*****************************/
	

	//Seteamos...
	this.establecer_localizacion(v_localizacion);	
	
	//Arrancamos lo propio...
	this.arrancar();	
	this.poner_localizacion(this.localizacion, 17);
	this.poner_marcador(this.localizacion);	
		
}
