Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola preciso de ajuda, ja tentei de varias formas mas não consegui, estou tendo dificuldade em converter km para R$ .
eu preciso que o resultado do google maps em km seja multiplicado por R$ 1,50 . assim o usuario teria o valor por km.. veja o codigo abaixo...
===============================================================================================
<!DOCTYPE html>
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<title>Calcular distancia entre cidades (mapas e rotas)</title>
<script src="[http://code.jquery.com/jquery-1.8.1.js](http://code.jquery.com/jquery-1.8.1.js)" type="text/javascript"></script>
</head>
<body>
<script src="[http://maps.google.com/maps/api/js?sensor=false">](http://maps.google.com/maps/api/js?sensor=false)
<script type="text/javascript">
function CalculaDistancia() {
$('#litResultado').html('Aguarde...');
//Instanciar o DistanceMatrixService
var service = new google.maps.DistanceMatrixService();
//executar o DistanceMatrixService
service.getDistanceMatrix(
{
//Origem
origins: [$("#txtOrigem").val()],
//Destino
destinations: [$("#txtDestino").val()],
//Modo (DRIVING | WALKING | BICYCLING)
travelMode: google.maps.TravelMode.DRIVING,
//Sistema de medida (METRIC | IMPERIAL)
unitSystem: google.maps.UnitSystem.METRIC
//Vai chamar o callback
}, callback);
}
//Tratar o retorno do DistanceMatrixService
function callback(response, status) {
//Verificar o Status
if (status != google.maps.DistanceMatrixStatus.OK)
//Se o status não for "OK"
$('#litResultado').html(status);
else {
//Se o status for OK
//Endereço de origem = response.originAddresses
//Endereço de destino = response.destinationAddresses
//Distância = response.rows[0].elements[0].distance.text
//Duração = response.rows[0].elements[0].duration.text
$('#litResultado').html("<strong>Origem</strong>: " + response.originAddresses +
"<br /><strong>Destino:</strong> " + response.destinationAddresses +
"<br /><strong>Distância</strong>: " + response.rows[0].elements[0].distance.text +
" <br /><strong>Duração</strong>: " + response.rows[0].elements[0].duration.text
);
//Atualizar o mapa
$("#map").attr("src", "[https://maps.google.com/maps?saddr=](https://maps.google.com/maps?saddr=)" + response.originAddresses + "&daddr=" + response.destinationAddresses + "&output=embed");
}
}
</script>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>
<label for="txtOrigem"><strong>Endereço de origem</strong></label>
<input type="text" id="txtOrigem" class="field" style="width: 400px" />
</td>
</tr>
<tr>
<td>
<label for="txtDestino"><strong>Endereço de destino</strong></label>
<input type="text" style="width: 400px" class="field" id="txtDestino" />
</td>
</tr>
<tr>
<td>
<input type="button" value="Calcular distância" onclick="CalculaDistancia()" class="btnNew" />
</td>
</tr>
</tbody>
</table>
<div><span id="litResultado"> </span></div>
<div style="padding: 10px 0 0; clear: both"></div>
</body>
</html>Ola amigo funcionou perfeitamente . surgiu um problema que ponho para pesquisar
DESTINO: Rua Alvaro de Carvalho - Anhagabau- SP
ORIGEM: Av. Teodoro Sampaio - SP
AGUARDE........
Fica aguardando e não da o resultado. mas quando pesquiso por estado funciona.
eu acho que me atrapalhei com alguma coisa.
Isso acontece porque aparentemente o próprio Google Maps não encontra nenhuma "Rua Alvaro de Carvalho, Anhagabau, São Paulo".
Resolvido.
olá boa noite muito bom obrigado estava arrancando os cabelos já valeu
Olá está funcionando porem o calculo não esta correto pode me ajudar
@hgkiller, que parte do cálculo é que não está correcto?
Se reparares, utilizei um multiplicador de 1.5 no exemplo. Terás que alterar esse valor para o que pretendes.
Para te podermos ajudar melhor, mostra o código que tens de momento.
Apenas o excerto relevante:
Exemplo.Explicando a expressão (se necessário):