Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diegohamaz1

Pegar retorno de função com CALLBACK

Recommended Posts

Pessoal Boa tarde !

 

 

Preciso de uma ajuda com função contendo callback , seguinte tenho uma função que pega distancia de localidade do GOOGLE MAPS

      function Calcula(origem,saida) {
		   
			var origem_f =str_replace(Array('(',')'),'',origem);
			var saida_f =str_replace(Array('(',')'),'',saida);

            var service = new google.maps.DistanceMatrixService();
            //executar o DistanceMatrixService
            service.getDistanceMatrix(
              {
                  //Origem
                  origins: [""+origem_f+""],
                  //Destino
                  destinations: [""+saida_f+""],
                  //Modo (DRIVING | WALKING | BICYCLING)
                  travelMode: google.maps.TravelMode.DRIVING,
                  //Sistema de medida (METRIC | IMPERIAL)
                  unitSystem: google.maps.UnitSystem.METRIC
                  //Vai chamar o callback
              }, retorno);
        }
 
 
        function retorno(response, status) {
            //Verificar o Status
            if (status != google.maps.DistanceMatrixStatus.OK)
                $('#km_in').val(status);
            else {
					var str = response.rows[0].elements[0].distance.text;
					str = str.substring(0,(str.length - 2));
                    console.log(str);
            }
        }

Eu gostaria de pegar o retorno dessa função mas nao estou conseguindo chega sempre UNDEFINED , só que na linha ali acima que dei um debug console.log(str) vem os valores que preciso.

 

Como faço pra pegar esse retorno ? Estou tentando resgatar os valores dessa função, chamando somente assim Calcula(var1,var2) e só me vem undefined, tentei jogar em uma variavel e tambem nada, como posso fazer??

 

Eu consegui jogando em um input o valor mas não quero, quero chamar a função e ela me retornar os valores....

 

 

Agradeço desde já por qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

function Calcula(origem,saida) {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [""+origem+""],
destinations: [""+saida+""],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC
}, retorno);

}


function retorno(response, status) {
if (status != google.maps.DistanceMatrixStatus.OK)
$('#km_in').val(status);
else {
var str = response.rows[0].elements[0].distance.text;
str = str.substring(0,(str.length - 2));
return(str);
}
}

 

 

dessa maneira nao , me vem undefined os valores.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.