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 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
    • By PauLoRM
      Olá,
      Estou querendo desenvolver um aplicativo multi-plataforma (Android e IOS). Projeto para longo prazo (mais de 12 meses), pois como é complexo, investirei em conhecimento antes. Já tenho conhecimento básico em lógica de programação, já pratiquei o básico em SQL, Delphi, Oracle (tenho noção de if, else, then, boolean, true, false, string, etc)...trabalho com TI a mais de 10 anos... então acredito no meu potencial...Porém terei que fazer cursos voltados para aplicação mobile, para conseguir implementar meu projeto sem precisar contratar terceiros. Vai ser um aplicativo bem complexo no meu ponto de vista. Em resumo o cliente tem que se cadastrar, vai visualizar produtos de empresas separados por categorias (mais de uma empresa) e poder fazer seus pedidos. As empresas que anunciam seus produtos, vão ter que ter gerenciamento dos pedidos realizados e dos produtos. E eu, terei que ter acesso as vendas dessas empresas, pois serei remunerado sobre esses pedidos feitos no app. Por ser 3 tipos de credenciais diferentes, com acessos à recursos diferentes, telas diferentes, pensei em separar em 3 aplicativos, pois poderia ser muito pesado tudo em um único.
      Um app então será para clientes fazerem o seu cadastro, efetuarem seus pedidos, obter históricos, etc. Outro será para gestão de pedidos e cadastros de produtos pelas empresas credenciadas. E o outro, seria gerencial para mim (dono do app), pois haverá comissão para mim pelos pedidos efetuados, terei que gerenciar isso.
      Recursos complexos que gostaria de implementar:
      App de compra dos clientes:
      - Cadastro com possibilidade de conectar com Facebook (Acredito que existe API para isso)
      - Confirmação de cadastro através de código gerado automaticamente (enviado por SMS ou email)
      - Utilização de mapa com posição atual (coordenadas) e se possível cálculo de distância. Ser possível mostrar empresas perto da pessoa por exemplo (Acredito que existe API para isso também)
      - Pagamento online (deve haver varias API (opções) nesse sentido)
      App para gestão (empresas vendedoras):
      Possibilidade de enviar fotos (cadastro de produtos)
      Possibilidade de salvar/enviar email com planilha ou relatório
      Agora meus questionamentos:
      1) Com esses recursos mais complexos, qual linguagem melhor me atenderia(Xamarin, FireMonkey, Ionic, Unity, entre outros)? Se possível mencionar a questão de disponibilidade de materiais e cursos, pontos fortes e fracos referente a recursos e API’s (compatibilidade).
      2) Será necessário um banco de dados externo para armazenar tudo isso (será na nuvem e deverá ser sincronizado). Qual banco poderia ser utilizado? Ouvi falar muito bem do Firebase.
      3) Bem futuramente (caso aplicativo der certo), poderá ser necessário implantar o gerenciamento da empresa também em sistema Web. As decisões anteriores terá interferência? Digo, já devo observar a escolha da linguagem do app e o banco de dados, visando essa futura implantação? Se sim, qual recomendação?

      Como pode ver, preciso de um ponta pé inicial para começar os estudos (pois estudar meses ou anos uma linguagem para depois não conseguir aplicar tais recursos devido a não ter eles, seria perda de tempo e dinheiro). Para isso conto com a ajuda dos mais experientes, vocês. Obrigado desde já!
    • By mglhs
      Estou quebrando a cabeça para tentar usar o código abaixo com PHP.
      Estou recebendo essa resposta de uma CURL;
      Ele veio com alguma compactação gzip. Gostaria de usar com json. Ou conseguir pegar cada dado. Abaixo desse codigo, deixei mais organizado.
       
      F|CL;IT=#PU#B1#C1#D13#E42466419#F2#I1#X4100#;PC=1;|EV;|MG;CC=Campeonato Bras;|MA;TP=FI;|PA;NF=81727410;NA=Palmeiras v Vasco da Gama;BC=20190727210000;P1=1148;P2=1144;|PA;NF=81876252;NA=Cruzeiro v Athletico Paranaense;BC=20190727230000;P1=1157;P2=164926;|PA;NF=81727416;NA=Fluminense v São Paulo;BC=20190727230000;P1=1146;P2=1135;|PA;NF=81727412;NA=Internacional v Ceará;BC=20190727230000;P1=16025;P2=1569;|PA;NF=81727418;NA=Chapecoense v Bahia;BC=20190728150000;P1=13184;P2=1247;|PA;NF=81727423;NA=Flamengo v Botafogo;BC=20190728200000;P1=1149;P2=1534;|PA;NF=81727420;NA=Santos v Avaí;BC=20190728200000;P1=1142;P2=9518;|PA;NF=81727427;NA=Fortaleza v Corinthians;BC=20190728230000;P1=1218;P2=1147;|PA;NF=81727430;NA=Goiás v Atlético Mineiro;BC=20190728230000;P1=1300;P2=16039;|PA;NF=81727432;NA=CSA v Grêmio;BC=20190730000000;P1=10811;P2=1159;|MA;TP=TE;|PA;TD=164926;NA=Athletico Paranaense;|PA;TD=16039;NA=Atlético Mineiro;|PA;TD=9518;NA=Avaí;|PA;TD=1247;NA=Bahia;|PA;TD=1534;NA=Botafogo;|PA;TD=1569;NA=Ceará;|PA;TD=13184;NA=Chapecoense;|PA;TD=1147;NA=Corinthians;|PA;TD=1157;NA=Cruzeiro;|PA;TD=10811;NA=CSA;|PA;TD=1149;NA=Flamengo;|PA;TD=1146;NA=Fluminense;|PA;TD=1218;NA=Fortaleza;|PA;TD=1300;NA=Goiás;|PA;TD=1159;NA=Grêmio;|PA;TD=16025;NA=Internacional;|PA;TD=1148;NA=Palmeiras;|PA;TD=1142;NA=Santos;|PA;TD=1135;NA=São Paulo;|PA;TD=1144;NA=Vasco da Gama;|
       
      string(1370) "F|CL;IT=#PU#B1#C1#D13#E42466419#F2#I1#X4100#;PC=1;|EV;|MG;CC=Campeonato Bras;|MA;TP=FI;|
      PA;NF=81727410;NA=Palmeiras v Vasco da Gama;        BC=20190727210000; P1=1148;  P2=1144;|
      PA;NF=81876252;NA=Cruzeiro v Athletico Paranaense;    BC=20190727230000; P1=1157;  P2=164926;|
      PA;NF=81727416;NA=Fluminense v São Paulo;        BC=20190727230000; P1=1146;  P2=1135;|
      PA;NF=81727412;NA=Internacional v Ceará;        BC=20190727230000; P1=16025; P2=1569;|
      PA;NF=81727418;NA=Chapecoense v Bahia;            BC=20190728150000; P1=13184; P2=1247;|
      PA;NF=81727423;NA=Flamengo v Botafogo;            BC=20190728200000; P1=1149;  P2=1534;|
      PA;NF=81727420;NA=Santos v Avaí;            BC=20190728200000; P1=1142;  P2=9518;|
      PA;NF=81727427;NA=Fortaleza v Corinthians;        BC=20190728230000; P1=1218;  P2=1147;|
      PA;NF=81727430;NA=Goiás v Atlético Mineiro;        BC=20190728230000; P1=1300;  P2=16039;|
      PA;NF=81727432;NA=CSA v Grêmio;                BC=20190730000000; P1=10811; P2=1159;|
      MA;TP=TE;|
      PA;TD=164926;NA=Athletico Paranaense;|
      PA;TD=16039;NA=Atlético Mineiro;|
      PA;TD=9518;NA=Avaí;|
      PA;TD=1247;NA=Bahia;|
      PA;TD=1534;NA=Botafogo;|
      PA;TD=1569;NA=Ceará;|
      PA;TD=13184;NA=Chapecoense;|
      PA;TD=1147;NA=Corinthians;|
      PA;TD=1157;NA=Cruzeiro;|
      PA;TD=10811;NA=CSA;|
      PA;TD=1149;NA=Flamengo;|
      PA;TD=1146;NA=Fluminense;|
      PA;TD=1218;NA=Fortaleza;|
      PA;TD=1300;NA=Goiás;|
      PA;TD=1159;NA=Grêmio;|
      PA;TD=16025;NA=Internacional;|
      PA;TD=1148;NA=Palmeiras;|
      PA;TD=1142;NA=Santos;|
      PA;TD=1135;NA=São Paulo;|
      PA;TD=1144;NA=Vasco da Gama;|"
       
       
      Um help, pf!
    • By diogoglobaltec
      Estou completamente perdido na integração do mercado pago, estou estudando PHP e mysql,  e já estou com o site quase completamente terminado, mas estou
      sem saber o que fazer para conseguir integrar a API de pagamento do mercadopago no site,
       
      algumas dúvidas que tenho:
       
      consigo usar o sandbox ou o modo de produção no localhost ?
       
      li a documentação , mas isso ficou um pouco nebuloso...
       
      usei o código posto no developers do site 
       
       
      <?php require_once 'vendor/autoload.php'; MercadoPago\SDK::setAccessToken("meu token coloquei aqui"); $payment = new MercadoPago\Payment(); $payment->transaction_amount = 141; $payment->token = "YOUR_CARD_TOKEN"; $payment->description = "Ergonomic Silk Shirt"; $payment->installments = 1; $payment->payment_method_id = "visa"; $payment->payer = array( "email" => "larue.nienow@hotmail.com" ); $payment->save(); echo $payment->status; ?>  
      o retorno foi o seguinte erro:
       

      Fatal error: Uncaught TypeError: Return value of Doctrine\Common\Annotations\AnnotationRegistry::registerFile() must be an instance of Doctrine\Common\Annotations\void, none returned in /home/nix/PHP/novosite/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php:67 Stack trace: #0 /home/nix/PHP/novosite/vendor/mercadopago/dx-php/src/MercadoPago/MetaDataReader.php(27): Doctrine\Common\Annotations\AnnotationRegistry::registerFile('/home/nix/PHP/n...') #1 /home/nix/PHP/novosite/vendor/mercadopago/dx-php/src/MercadoPago/Manager.php(42): MercadoPago\MetaDataReader->__construct() #2 /home/nix/PHP/novosite/vendor/mercadopago/dx-php/src/MercadoPago/SDK.php(34): MercadoPago\Manager->__construct(Object(MercadoPago\RestClient), Object(MercadoPago\Config)) #3 /home/nix/PHP/novosite/vendor/mercadopago/dx-php/src/MercadoPago/SDK.php(72): MercadoPago\SDK::initialize() #4 /home/nix/PHP/novosite/pagamento.php(5): MercadoPago\SDK::setClientId('387858205014127...') #5 {main} thrown in/home/nix/PHP/novosite/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php on line 67
       
       
       
      acho que não deveria ser isso alguém disposto a me orientar nisso ? 
       
       
       
       
       
       
       
       
×

Important Information

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