Ir para conteúdo

Arquivado

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

victortobias

Obter distância e Calcular

Recommended Posts

Olá pessoal, sou novo aqui no fórum e precisava de uma ajuda, eu estou criando um site para calcular frete de uma loja que trabalho a partir da distancia, eu já consegui um script do google mesmo que calcula a distancia entre dois endereços, mas já deixei pré fixado a localização da loja no endereço 1, porém eu não usar os dados obtidos para calcular o valor que se resume nessa fórmula:

 

Vf = {[(d*2)/8]*2,80}+10%

 

Vf = Valor do Frente

d=distância

2=dobrar a distancia(calculando ida e volta do percurso)

8=Quantos km o carro faz com 1 litro

2,80= valor do diesel

10%=pedágios e seguro

 

o script que eu consegui para achar distância é esse:

<!DOCTYPE html>

<html xmlns="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" type="text/javascript"></script>
</head>
<body>
        <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
        <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 +
						" <br /><strong>Duração</strong>: " + response.rows[0].elements[0].distance.value /1000
                        );
                    //Atualizar o mapa
                    $("#map").attr("src", "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>
                        <input type="hidden" id="txtOrigem" class="field" style="width: 400px" value="-22.322547, -49.072005" />

                    </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>
        
</body>
</html>

Valeu ai pela atenção, abraço!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atualiza a parte que exibe pra mais ou menos isso:

//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
					
					var Distancia = parseFloat(response.rows[0].elements[0].distance.text);
					var KmPorLitro = (Distancia*2)/8;
					
					var ValorDiesel = 2.80;
					var ValorTotalDiesel = KmPorLitro*ValorDiesel;
					
					var ValorImposto = 10;
					var ValorDoImposto = (ValorTotalDiesel*ValorImposto)/100;
					
					var ValorTotal = ValorTotalDiesel+ValorDoImposto;
					
                    $('#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 +
						" <br /><strong>Duração</strong>: " + response.rows[0].elements[0].distance.value /1000 +
						" <br /><strong>Valor do Frete</strong>: " + ValorTotal +
						" <br /><strong>Valor do Frete Sem Imposto</strong>: " + ValorTotalDiesel +
						" <br /><strong>Valor do Imposto</strong>: " + ValorDoImposto
                        );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia pessoal
Estou com um probleminha ainda maior, mas acredito que esta vai ser fácil para vocês.
Preciso deste mesmo script mas com um ponto inicial e um ponto final da trajetória...
A base de calculo por km... este eu gostaria de predefinir pelo valor do combustível

Teria como me ajudar nesta?
Estou enviando minha base de calculo caso ajude

base calculo.jpg

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.