    var map;
    var gdir;
    var geocoder = null;
    var addressMarker;
    
    var minhaLocalizacao = "-23.494524,-46.715059" //Localização inicial passada como ponto de partida


var maps;
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
var infoWindow = new google.maps.InfoWindow({maxWidth: 200});
		
var markerOffice = new google.maps.Marker({
		title: 'Google Sao Paulo',
		icon: 'marker.png', // esta é uma imagem local
		position: new google.maps.LatLng('-23.494524', '-46.715059')
	});
		
function initialize() {
			var options = {
					zoom: 15,
					center: markerOffice.position,
					mapTypeId: google.maps.MapTypeId.ROADMAP
			};
			
			map = new google.maps.Map(document.getElementById("map_content"), options);
			
			markerOffice.setMap(map);
			
			google.maps.event.addListener(markerOffice, 'click', function() {
				infoWindow.setContent('Rua Gen. C&acirc;ndido de Almeida e Souza, 251 - Pirituba - S&atilde;o Paulo - SP <br />Tel.: (11) 3798 - 2460');
				infoWindow.open(map, markerOffice);
			}); 
		}





    function inicializar_gmaps() {
      if (GBrowserIsCompatible()) {      
        map = new GMap2(document.getElementById("div_mapa")); //Local onde o mapa gerado deve ficar
        gdir = new GDirections(map, document.getElementById("direcoes")); //Local para ficar o "passo-a-passo" pra chegar ao destino
        GEvent.addListener(gdir, "error", gmaps_erros); //Define qual função vai manipular os erros retornados
      }
    }
    
    function gmaps_erros() {
       if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
         alert("Nenhuma posição geográfica correspondente pode ser encontrada para um dos endereços especificado. Isto pode ser devido ao fato que o endereço é relativamente novo, ou pode estar incorreto. \nCódigo de erro: " + gdir.getStatus().code);

       else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
         alert("A solicitação não foi processado com sucesso, contudo a razão exata para a falha não é conhecida. \nCódigo de erro: " + gdir.getStatus().code);

       else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
         alert("O parâmetro de pesquisa (endereço) não foi informado. Não é possível processar o pedido sem esta informação. \nCódigo de erro: " + gdir.getStatus().code);

       else if (gdir.getStatus().code == G_GEO_BAD_KEY)
         alert("A chave informada não é válida ou não combina o domínio para que foi informado.\nCódigo de erro: " + gdir.getStatus().code);

       else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
         alert("A solicitação não foi processada com sucesso.\nCódigo de erro: " + gdir.getStatus().code);

       else alert("Um erro desconhecido aconteceu.");
      
    }
    
    function mapsPesquisa(irPara) {
        //Responsavel por iniciar o carregamento dos mapas nos locais especificos
        gdir.load("from: " + irPara + " to: " + minhaLocalizacao);
    }
    
    //CONSIDERAÇÕES IMPORTANTES
    //A função GUnload() q e chamada quando a pagina é descarregada, serve para evitar a sobrecarga do browser
    //O mada se ajusta ao tamanho da <DIV> ou objeto q é indicado
