Jump to content
Rodrigo Razzyel

Api google maps calcular tempo do frete

Recommended Posts

Eu não estou conseguindo fazer ele adicionar um valor no tempo da viagem ..tipo assim depois que eu colocar o endereço ai me gera o valor do frete mas eu quero calcular o tempo estimado sambem Ex. se o tempo for 60 minutos e o motorista demorar 120 minutos, apos os 60 minutos ja calculado somaria a cada minuto adiciona $0,05 centavos ..não sei se estou sendo especifico,

e tambem não estou conseguindo fazer com que a posição de origem ser enviada para o banco de dados
o banco de dados seleciona o motoboy que esta conectado mais proximo do ponto de origem, quando o motoboy chega na origem e pega o documento ele ja clica em iniciar 
para dar o destino para ele... tem alguma maneira de fazer isso sem usar o banco de dados...

 

poderia me ajudar

 

o codigo é 

 <body>
      <div class="upage" id="mainpage" data-role="page" style="background:url(img/back.jpg); background-size:cover">
        <div id="moto" class="upage-content vertical-col left hidden">
           <div class="table-thing widget uib_w_7 d-margins" data-uib="twitter%20bootstrap/input" data-ver="1">
                  <label class="narrow-control label-inline" for="txtOrigem">Retirada</label>
                  <input class="wide-control form-control default" type="text" placeholder="Digite o endereço para retirar" id="txtOrigem">
               </div>
               <div class="table-thing widget uib_w_8 d-margins" data-uib="twitter%20bootstrap/input" data-ver="1">
                  <label class="narrow-control label-inline" for="txtDestino">Entrega</label>
                  <input class="wide-control form-control default" type="text" placeholder="Digite  endereço de entrega" id="txtDestino">
               </div>
               <!-- codigo botao xdk -->
               <button class="btn widget uib_w_9 d-margins btn-info" data-uib="twitter%20bootstrap/button" data-ver="1" onclick="CalculaDistancia()"><i class="glyphicon glyphicon-search" data-position="icon only"></i>
               </button>

              
               <div class="grid grid-pad urow uib_row_3 row-height-3" data-uib="layout/row" data-ver="0">
                  <div><span id="litResultado">&nbsp;</span>
                  </div>
                  <div class="col uib_col_5 col-0_12-12" data-uib="layout/col" data-ver="0">
                     <div class="widget-container content-area vertical-col">
                        <span class="uib_shim"></span>
                     </div>
                  </div>
                  <span class="uib_shim"></span>
               </div>
            </div>

         </div>
      </div>

<script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript"></script>
<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
 var valor = (parseFloat(response.rows[0].elements[0].distance.text.substring(0, response.rows[0].elements[0].distance.text.length - 3).split(",").join(".")) * 1.68 + 5.39).toFixed(2).toString().split(".").join(",");
$('#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>Preço</strong>: R$ " + valor
);
$("input[name='item_valor_1']").val(valor);

                    //Atualizar o mapa
                    $("#map").attr("src", "https://maps.google.com/maps?saddr=" + response.originAddresses + "&daddr=" + response.destinationAddresses + "&output=embed");
                }
            }
      </script>
   </body>

</html>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By RobertoSilva007
      Olá, bom dia à todos!
       
      Estou desenvolvendo uma aplicação em PHP onde necessito que meus clientes possam gerar boletos por meio da mesma.
      O banco escolhido é o SICOOB e ele oferece uma API  própria para integração.
       
      Gostaria de saber se alguém aqui já usou essa API e sabe como trabalhar com ela, pois a documentação que eles disponibilizam é muito vaga.
       
      Não sei se essa pergunta está no tópico correto, caso não, peço desculpas.
      Agradeço desde já.
    • By DinhoPHP
      Olá! Peguei um feela, onde o cliente possui um campo de busca de reservas do Booking. A solicitação era de um menu moderno em tecnologias de estilo, seguindo o layout já desenvolvido por ele, até aí tudo bem. O problema é como fazer com que esses dados do formulários passados via GET, sejam recebidos corretamente pela página de resultados do Booking.com
      Tentei, utilizando mesmo names e ids da busca original, porém, o resultado desejado é satisfatório apenas onde digita o que desejamos buscar.
      <script type="text/javascript"> (function(d, sc, u) { var s = d.createElement(sc), p = d.getElementsByTagName(sc)[0]; s.type = 'text/javascript'; s.async = true; s.src = u + '?v=' + (+new Date()); p.parentNode.insertBefore(s,p); })(document, 'script', '//aff.bstatic.com/static/affiliate_base/js/flexiproduct.js'); </script> <body> <div class="container"> <div class="row bg-primary justify-content-center my-3 text-white"> <form id="b_frm" method="get" action="https://www.booking.com/searchresults.html" enctype="multipart/form-data" class="form-inline my-3" target="_blank"> <div class="col-12 col-sm-12 col-md-6" data-test="true"> <label for="txt-search" class="justify-content-start"><i class="fas fa-search mr-1"></i>Pesquisar</label> <input type="search" id="b_destination" class="form-control w-100" name="ss" id="b_destination" value="Guarujá" title="Ex.: cidade, região, bairro ou hotel específico" placeholder="Ex.: cidade, região, bairro ou hotel, casa, apartamento" role="textbox" aria-haspopup="true"> <input type="hidden" name="dest_id" value="-645946"> <input type="hidden" name="dest_type" value="city"> </div> <div id="checkin_target" class="col-12 col-sm-12 col-md-3"> <label for="txt-date-in" class="justify-content-start">Data de entrada</label> <select class="form-control w-100" name="checkin_monthday" id="b_checkin_day"></select> <select class="form-control w-100" name="checkin_year_month" id="b_checkin_month"></select> </div> <div id="checkout_target" class="col-12 col-sm-12 col-md-3"> <label for="txt-date-out" class="justify-content-start">Data de saí­da</label> <select class="form-control w-100" name="checkout_monthday" id="b_checkout_day"></select> <select class="form-control w-100" name="checkin_year_month" id="b_checkout_month"></select> </div> <div class="col-12 d-inline-flex justify-content-end mt-3"> <label for="checkReserv"> <input type="checkbox" class="form-check-inline" name="checkReserv" id="checkReserve"> Reserve agora, pague depois </label> </div> <div class="col-12 d-inline-flex justify-content-end mt-3"> <button type="submit" tabindex="0" class="btn btn-danger form-control" value="search">Pesquisar</button> </div> <input type="hidden" name="error_url" value="/?aid=1704408;"> <input type="hidden" name="si" value="ai,co,ci,re,di"> <input type="hidden" name="label" value=""> <input type="hidden" name="lang" value="pt-br"> <input type="hidden" name="aid" value="1704408"> <input type="hidden" name="sp_plprd" value="UmFuZG9tSVYkc2RlIyh9YVXcKaaJl1Cl8VOf4QzoGuIOLLs5aG2FZ2ZavnPQr-nKVGXKwhi-SxV27wZ5e4ad8ZB_vNL0FpUBWR1nsdbY6J6ZBGBM6rnqKJd1-J9bY_Ur"> <input type="hidden" name="utm_campaign" value="nsb"> <input type="hidden" name="utm_medium" value="sp"> <input type="hidden" name="utm_source" value="FP_Searchbox"> <input type="hidden" name="utm_term" value="1704408"> </form> </div> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <script src="https://s.bookcdn.com/js/translations/translation_31.26.js"></script> <script src="https://s.bookcdn.com/build/booked/booked_bundle.74f2565a43a50d618c66d31c0adba095.js"></script> <!-- <ins class="bookingaff" data-aid="1704408" data-target_aid="1704408" data-prod="nsb" data-width="100%" data-height="auto" data-lang="xb" data-currency="BRL" data-dest_id="-645946" data-dest_type="city"> Anything inside will go away once widget is loaded. <a href="//www.booking.com?aid=1704408">Booking.com</a> </ins>--> </body>  
       
       
    • By luannsr12
      Olá pessoas, estou   utilizando o Google Charts, e me venho a necessidade de usar imagem nos gráficos.
      Alguém já usou, e sabe como fazer?
    • By edionas
      Bom dia,
      a tempos venho tentando exibir o conteudo dos links abaixo na forma de tabela organizada, usando importação dos dados atraves do link:
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes.xml?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes.json?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      Porem não tenho conseguido exito.
    • By Good
      Boa tarde,
      eu estou estudando como funciona um sistema de API  + Postback e estou com dúvidas...
      A linguagem mais prática para isto é NodeJS? 
       
      Por exemplo, vou liberar permissão para os usuários pegarem informações da conta de cadastro dele.. E por exemplo, quando eles atualizarem as informações de cadastro como nome, cidade, estado,  etc.. o sistema deve enviar no mesmo momento um postback com as informações..
       
      Como vocês fariam este sistema? Os grandes portais utilizam como? Tipo o mercado livre, google...
       
      aguardo resposta, 
      att
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.