//-- funcion que crea un icono a partir de una imagen ---
function crearIcono(path)
	{
	  //creamos nuestro propio icono
	  icono = new GIcon(G_DEFAULT_ICON, path);
	  icono.iconSize = new GSize(12, 20); //tamano
	  icono.shadowSize = new GSize(22, 20); //tamano de la sombra
	  
	  return icono;
		
	}
	
//-- funcion que un punto apartir de una posicion, y pone un globo informativo ---
function crearPunto(posicion,html,icono) {
        
        //esta funcion crea un punto en el mapa de google maps
        var punto = new GMarker(posicion,icono) //anadimos el icono
        
        // aqui asociamos un listener a "click" que muestra el html.
        GEvent.addListener(punto, "click", function() {
          punto.openInfoWindowHtml(html);
        });
        
        //devolvemos el punto creado
        return punto;
        
      }
	  
//-- funcion que centra el mapa
function centrarMapa(lugar,zoom)
{
	
	//buscamos la posicion que corresponde a la direccion
	  geocoder.getLatLng(lugar,
	    function callBack(posicion) {
	      if (!posicion) { //si no se encuentra, esta vacia la posicion
	        alert(direccion + " no encontrado");
	      } else { //si lo encontramos ponemos el punto
	      
	      	if (map.getZoom() < 10) {
			
				map.setCenter(posicion, 10);
			}
			else
			{
				map.setCenter(posicion, zoom);
			}
	      
		  
		  }    
	    });
	
}

//-- funcion que centra una posicion en el mapa.
function centrarMapaPosicion(lat,lng,zoom)
{
	map.setCenter(new GLatLng(lat, lng),zoom);
}

//-- poner un punto apartir de una coordenada
function ponerPuntoCoordenadas(posicion,html,icono)
{
	var punto = crearPunto(posicion,html,icono); //creamos el marcador y le asociamos un html
    map.addOverlay(punto); //ponemos el punto en el mapa
}

//-- poner un punto apartir de una direccion
function ponerPuntoDireccion(direccion,html,icono) {
	  
	  //buscamos la posicion que corresponde a la direccion
	  geocoder.getLatLng(direccion,
	    function callBack(posicion) {
	      if (!posicion) { //si no se encuentra, esta vacia la posicion
	        alert(direccion + " no encontrado");
	      } else { //si lo encontramos ponemos el punto
     		 var punto = crearPunto(posicion,direccion,icono); //creamos el marcador y le asociamos un html
     		 map.addOverlay(punto); //ponemos el punto en el mapa
	      }    
	    });
	    
	}
