App Script - Como calcular distância pelo Google Maps na Planilha

Поделиться
HTML-код
  • Опубликовано: 29 авг 2024
  • Neste vídeo vamos aprender como calcular a distância de um ponto de Origem à um destino utilizando do script na planilha para buscar essas rotas diretamente pelo Google Maps. Vamos então comparar essas inforamções com a que o Glide nos tráz na função própria dele.
    🔎Planilha utilizada: docs.google.co...
    🎬 Curso ABC do Glide: bit.ly/appiecurso
    📱 GlideApps: glide.grsm.io/...
    🌎Site: appiedesenvolv...
    📷 Instagram: / appiedesenvolvimentos
    📨 E-mail: contato@appiedesenvolvimentos.com.br
    📕 Facebook: / glidebrasil
    ✈️ Telegram: t.me/glidemess...
    🎥 RUclips: / messiascarvalhoessiasc...
    Messias Carvalho, Expert do Glide
    "O conhecimento é a única e maior
    riqueza que o ser humano não pode
    roubar, muito menos comprar. E sim
    adquirir, conquistar e
    compartilhar...
    Por isso compartilhe conhecimento!
    Uma nação rica é uma nação culta."
    ✉️ E-mail Profissional: contato@appiedesenvolvimentos.com.br
    #GlideApp #GoogleScript #Distance
    🎬 Curso ABC do Glide: bit.ly/appiecurso

Комментарии • 97

  • @htinhask8ter
    @htinhask8ter 3 года назад +3

    Seu vídeo e conteúdo merece 5mil likes! Eu tinha que fazer uma planilha com o cálculo de distância de cada bairro aqui da minha cidade, e daria 5.776 linhas, e eu ia calcular TUDO NA MÃO. kkkkkkkkkk Sua planilha me salvou!!! (Agora tô esperando passar o prazo de 24h? porque excedeu o limite de execução. Mas mesmo assim vou levar semanas e dias a menos do que se fizesse tudo na mão kkkkkkk). Muito obrigada!

  • @MarcelFrancisco
    @MarcelFrancisco Год назад

    meus parabéns, assisti a uns cinco vídeos e somente o seu me ajudou. Obrigado

  • @MarcosRodrigues0
    @MarcosRodrigues0 2 года назад

    Obrigado! Tava com uma planilha de CEPs pra calcular frete encostada aqui a meses e o script foi a salvação

  • @tuliotorres3790
    @tuliotorres3790 4 года назад

    SENSACIONAL!!!!! MAIS UM ESCRITO MUITO GRATO!!! Deus abençoe grandemente sua vida, conteúdo era exatamente o que procurava!

  • @KondCrazyplus
    @KondCrazyplus 2 года назад

    meu deus do Céu q Fascinante, Copiei o Código, assistir o Vídeo, aprendi um pouquinho, mas quando Colei o Código e fui fazendo as modificações, ai sim entendi, pra quem tem medo de código, o negócio é pegar na mão. só assim perde o medo. vlw por disponibilizar, se parece que as pessoas vão ficar mais preguiçosas por ter ele pronto, garanto que a maioria consegue bem mais resultado com ela pronta... aprendi bem mais assim, obrigadooooooooooooo

    • @KondCrazyplus
      @KondCrazyplus 2 года назад

      só tem uma coisa que eu gostaria de saber, como eu faço pra Execultar o Script assim que eu inserir um novo endereço?

  • @taoricardo
    @taoricardo 4 года назад +1

    Wow! Siempre un gusto ver tus tutoriales. Saludos desde Paraguay 👍

  • @alexandregodegespereira2375
    @alexandregodegespereira2375 Год назад

    Obrigado Messias, deu certo.. vai ajudar muito!
    Abraços.

  • @izzy_q
    @izzy_q 3 года назад +2

    Opa! Muito obrigado! Me salvou algumas horas de trabalho hehehe.
    Só uma coisa que pode ser útil para quem teve o mesmo problema que eu.
    Alguns dos endereços da minha lista davam erro nessa função, não sei por qual motivo. Aí a função toda parava de preencher a partir daquele ponto.
    Então eu adicionei uma parte de código pra pular os endereços com erro:
    try{
    var km = directions["routes"][0]["legs"][0]["distance"]["value"]/1000;
    if(km){
    ss.getRange(i,ColDist).setValue(km);
    } else{
    continue;
    }
    } catch(e) {
    continue;
    }

    • @matheusmaeda8330
      @matheusmaeda8330 3 года назад

      Ola Fernando, estou com este mesmo erro de quando da um erro ele para e tem que comecar desde o inicio. olhei seu codigo acima no comentario; mas nao sei onde incluir ou onde substituir ele na linha de codigo criada pelo Messias. voce poderia por favor me enviar o codigo completo aqui para eu ver onde estou errando? Estou utilizando o codigo abaixo e para que precisar esta funcionando perfeitamente (retornando distancia e tempo por endereço ou por CEP com o traço).
      //Calculo de distancia Planilha 2
      function distance() {

      //Inserção dos dados
      var Planilha = "Página2";
      var Start = 1;
      var End = 2;
      var Inicio = 2;
      var colDist = 3;
      var colTempo = 4;

      //Definir planilha e ultima linha
      var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(Planilha);
      var lr = ss.getLastRow();


      //Inicio do Loop
      for(var i = Inicio; i

    • @izzy_q
      @izzy_q 3 года назад

      @@matheusmaeda8330 Oi Matheus, blz?
      Acho que vc precisa substituir as linhas:
      var km = directions["routes"][0]["legs"][0]["distance"]["value"]/1000;
      ss.getRange(i, colDist).setValue(km);
      var tp = directions["routes"][0]["legs"][0]["duration"]["value"]/60;
      ss.getRange(i, colTempo).setValue(tp);
      Por:
      try{
      var km = directions["routes"][0]["legs"][0]["distance"]["value"]/1000;
      if(km){
      ss.getRange(i,ColDist).setValue(km);
      } else{
      continue;
      }
      } catch(e) {
      continue;
      }
      try{
      var tp = directions["routes"][0]["legs"][0]["duration"]["value"]/60;
      if(tp){
      ss.getRange(i, colTempo).setValue(tp);
      } else{
      continue;
      }
      } catch(e) {
      continue;
      }
      Veja se dá certo.

    • @matheusmaeda8330
      @matheusmaeda8330 3 года назад

      @@izzy_q tudo otimo Fernando, obrigado pela sua resposta!!!! Eu substitui as linhas que voce mencionou acima mas agora ele inicia a execução mas nada acontece (nenhum dado é adicionado à planilha) e depois de muito tempo retorna uma mensagem de erro abaixo:
      Erro
      Exception: Service invoked too many times for one day: route.
      distance @ MAPS.gs:26

    • @matheusmaeda8330
      @matheusmaeda8330 3 года назад

      Pela mensagem de erro parece que eu executei este serviço route distance muitas vezes em um dia, mas o que achei estranho foi que no dia de hoje foi a primeira vez que eu executei este comando, ontem eu fiz alguns mas hoje não. Será que tem um limite e por isso não esta funcionando?????

    • @matheusmaeda8330
      @matheusmaeda8330 3 года назад

      Acabei de testar novamente e liberou para executar novamente, mas com a linha de cod que voce me sugeriu ele inicia a execução e nada acontece na planilha. estou usando a linha de codigo abaixo (onde esta acontecendo isso):
      //Calculo de distancia Planilha 2
      function distance() {

      //Inserção dos dados
      var Planilha = "Página2";
      var Start = 1;
      var End = 2;
      var Inicio = 2;
      var colDist = 3;
      var colTempo = 4;

      //Definir planilha e ultima linha
      var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(Planilha);
      var lr = ss.getLastRow();


      //Inicio do Loop
      for(var i = Inicio; i

  • @elielmarques7477
    @elielmarques7477 2 года назад

    Sou inscrito e curto demais o teu conteúdo. Muito obrigado pela aula.

  • @osmarsantos2966
    @osmarsantos2966 2 года назад

    Esse é fera!
    Parabéns!

  • @matheussilvestre5141
    @matheussilvestre5141 3 года назад

    Uauuu muito bom , parabéns por disponibilizar isso !! agradeço !

  • @guegascoxinhas5004
    @guegascoxinhas5004 4 года назад

    Cara mais fácil que comer doce? KKKKK Sua mente é diferenciada kkk Valeu Messias, estou tentando aprender.

  • @brendaholanda3910
    @brendaholanda3910 5 месяцев назад

    Que conteúdo bom!

  • @andrecvalerio2
    @andrecvalerio2 3 года назад

    Excelente script!!!! Parabéns e muito obrigado

  • @marcelocalbuquerque
    @marcelocalbuquerque 3 месяца назад

    Parabéns!
    É isso que eu estava procurando para solucionar o meu projeto.
    Não sou programador, mas preciso de soluções práticas para algumas tarefas.
    Uma dúvida, fiz o download da planilha, mas não localizar o arquivo com o script.
    Você pode me orientar?

  • @reinaldozancoper
    @reinaldozancoper 4 года назад

    Mais um video TOP, Parabéns mano

  • @rlmjr3
    @rlmjr3 4 года назад

    Assisti o vídeo inteiro. Tinha uma dúvida quanto a fazer essa rotina e vc a fez. Intuição? Kkkk obrigado. Vou incrementar em meu app ☺️

  • @ErikLima1
    @ErikLima1 2 года назад

    Cara, esse conteúdo é riquíssimo! Mata a charada de muita gente. Agora eu queria saber como fazer pro script rodar sozinho conforme a planilha é preenchida. Tem como?

  • @leonardocorrea2058
    @leonardocorrea2058 4 года назад +2

    Kkkkkkk É mais fácil que comer doce... Sei não, pra mim isso é muito difícil...
    Parabéns!

  • @adolfocarvalho3074
    @adolfocarvalho3074 2 года назад

    Muito bom, gostei muito.

  • @canaljunebox871
    @canaljunebox871 4 года назад

    Caramba velho rsrs vc faz chover com glide né rsrsrs

  • @nelson_peixoto
    @nelson_peixoto 3 года назад +1

    Show de bola!!! Parabéns pelo vídeo!!! Tá ajudando muita gente mesmo...
    Para inserir o tempo na coluna D "4", como ficaria no código?

    • @juniorjardim6453
      @juniorjardim6453 8 месяцев назад

      function distance() {
      var Planilha = "KMJR";
      var Start = 7;
      var End = 10;
      var Inicio = 3;
      var colDistancia = 13;
      var colTempo = 14
      var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(Planilha);
      var lr = ss.getLastRow();
      Logger.log(lr);
      //Logger.log(EnderStart);
      //Logger.log(EnderEnd);
      //Logger.log(directions);
      //Logger.log(km);
      //Logger.log(tempo);
      //LOOP PARA VERIFICAR SE A CELULA JÁ ESTÁ PREENCHIDA
      for(var i = Inicio; i0){
      Logger.log(celula);
      Inicio = i;
      }
      }
      Inicio= Inicio+1;
      Logger.log("Irá iniciar na linha "+Inicio );
      for(var i = Inicio; i

  • @eduardotoshio83
    @eduardotoshio83 2 года назад

    Mto bom, excelente material!! Preciso calcular a distância em linha reta entre 2 pontos, e não a distância rodoviária percorrida. O que teria que mudar no script? Obrigado!

  • @vitorvaccari7870
    @vitorvaccari7870 4 года назад

    Gostaria de saber mais sobre APIs de pagamento... por exemplo aplicativos em que o usuário pode colocar dinheiro, ver o saldo, sacar, etc... se vc gravar um vídeo sobre isso me ajudaria muito!

  • @SisMaderacoSisMade
    @SisMaderacoSisMade Месяц назад

    Tem como utilizar o Plus Code ao invés de endereços?

  • @professorjoaovictor-fammuc2806

    Prezado Messias, te agradeço imensamente por compartilhar o conteúdo! Estou penando para construir a coluna de distâncias, pois diferentemente da sua planilha, a minha tem latitude e longitude do ponto de origem (em duas colunas) e latitude e longitude do destino. Não estou sabendo como instanciar na função ss.getRange(). Consegue me trazer luz sobre isso? Mais uma vez, agradeço! Parabéns pelo trabalho!

  • @JoaoFerreira-vu1bh
    @JoaoFerreira-vu1bh Год назад

    Muito legal sua planilha, parabens.
    Sabe me informar se tenho como colocar o recorte do mapa em um template via script?

  • @_andrade_express
    @_andrade_express 2 года назад +1

    gostaria de saber como fazer o seguinte, pela rota passar para o cliente o valor do frete.. ex : ele coloca os dois endereços e aparece o preço que ele ira pagar

  • @alexgaeta373
    @alexgaeta373 3 года назад +1

    Boa noite, gostaria de uma ajuda sobre a integração. gostaria de saber se pudesse me dar uma dica de como fazer para pegar múltiplos endereços (inicio, destino,destino1....) e trazer o total da km da rota.
    Grato
    Alex Gaeta

  • @mrMARCOSROTA
    @mrMARCOSROTA 3 года назад +1

    Olá, assistindo em fevereiro/2021, tem limite para buscas ou é ilimitado? Queria fazer varias planilhas em varias abas por quinzena, consigo?

  • @videosmann
    @videosmann 4 года назад

    Ótimo conteúdo Messias, Parabéns. Talvez o erro de cálculo acontece porque o Glide está usando o Mapbox? Abs

    • @MessiasCarvalho
      @MessiasCarvalho  4 года назад +1

      Sim, imagino que seja isso. Não achei muito bom não, principalmente em minha cidade que e pequena tem muitos erros

  • @user-tg7gd4cy8w
    @user-tg7gd4cy8w 11 месяцев назад

    Olá Messias, sou meio leigo no assunto mas estou tentando aprender rs. Preciso preencher as distancias entre cidades (uma cidade de origem e uma cidade de destino por linha em uma planilha com varias linhas), seria apenas baixar a planilha acima, ir na aba pagina 2 e inserir mais origens e destinos que a distancia será preenchida automaticamente?

  • @sergiokawahara
    @sergiokawahara Год назад

    Messias primeiramente parabéns pelo script, acabei de testar aqui e funcionou perfeitamente, a minha pergunta é se esse script pode ser colocardo dentro de um script PHP? ja me escrevi no canal e pretendo adquirir alguns dos seus cursos, obrigado.

    • @MessiasCarvalho
      @MessiasCarvalho  Год назад

      Vc se refere a utilizar ele em um site criado em php por exemplo? Fora do Google script, isso?

  • @pauloassuncaojunior1935
    @pauloassuncaojunior1935 11 месяцев назад

    Oba, estou com problema para poder puxar o critério de pedágio se hoouver. consegue me ajudar?

  • @paulomelo9745
    @paulomelo9745 2 года назад

    Muito Bom. Obrigado! Este script tem sido muito últil. Gostaria de saber como poderia introduzir o criterio de calculo da distancia, sem utilização de autoestrada e portagens. Há forma de introduzir esse critério? Obrigado

  • @eduvacalok93
    @eduvacalok93 Год назад

    Não estou encontrando o código do script, onde posso encontrá-lo? Obrigado desde já.

  • @avf2consultoriaeinspecoes862
    @avf2consultoriaeinspecoes862 3 года назад +1

    Tudo bem Messias ?
    em primeiro lugar parabéns para o vídeo, em segundo lugar gostaria de saber sobre um erro que está dando aqui.
    Pra começar ele para de realizar buscas na linha 61 da planilha, e no script fica aparecendo o seguinte erro "TypeError: Cannot read property 'legs' of undefined (linha 24, arquivo "MAPS")". Como faço para resolver este erro ??
    Obrigado

    • @EvinhoLeal
      @EvinhoLeal 3 года назад

      Mesmo erro comigo...

  • @nelson_peixoto
    @nelson_peixoto 3 года назад

    Seria possível iniciar os cálculos a partir do último registro já calculado?
    Observei que ela reinicia todo o FOR quando há inserção de novos dados ou até mesmo quando o script trava devido a grande quantidade de informações.

  • @thomasferreira7818
    @thomasferreira7818 2 года назад

    Boa Noite. Primeiro, agradecer. Acho que o seu script me deu uma luz sobre algo que precisava e talvez seja útil. E fiz um teste somente entre cidades ( sem rua) e aparentemente deu tudo certo. Se eu quiser rodar toda vez o Scrip toda vez, eu tenho que entrar no appscript e executar. Um atalho seria atravês de um botão ( tipo excel) e atribuir para o script rodar ?

    • @jessicanayara944
      @jessicanayara944 Год назад

      isso funciona perfeitamente basta atribuir o script no botao

  • @rafaelmarques1170
    @rafaelmarques1170 2 года назад

    Oi, Messias. Tudo bem?
    Vi algumas pessoas comentando sobre essa API do google maps, vc sabe me dizer se tem algum tipo de custo essa utilização?

  • @sergiobreda5003
    @sergiobreda5003 4 года назад +1

    Olá, Messias
    testei o script e após alguma buscas estou recebendo a mensagem "Exception: Serviço chamado muitas vezes no mesmo dia: route. (linha 25, arquivo"

  • @albrs01
    @albrs01 2 года назад

    Caro Messias, primeiramente quero agradescer por todo conhecimento passado, mas eu estou com um problema. Na minha planilha são 247 linhas, porém na linha 62 ele para de rodar. Vc tem noção o que pode ser esse erro?

  • @joaochierighini6319
    @joaochierighini6319 2 года назад

    Boa Tarde! Muito bem explicado! Sensacional o script, mas baixei a planilha e não tinha a macro para executar. Algum atalho? Desculpe-me se sou usuário iniciante nesses assuntos.
    Obrigado!

    • @LuizaDamasco
      @LuizaDamasco 2 года назад +1

      Você precisa fazer uma cópia da planilha pra conseguir acessar a macro

  • @osmarsantos2966
    @osmarsantos2966 2 года назад

    Boa noite! Assistindo em Setembro de 2021.
    Gostaria de saber como escolho a opção de transporte público e pedestre?

  • @kukpoa6368
    @kukpoa6368 2 года назад

    Ola Messias tudo bem? estou tentando fazer uma planilha mas todas as configurações que tentei dão errado. Tem alguma informação pq pode estar dando erro. O google Drive precisa de alguma configuração, algum acesso diferente?

  • @JulioCesar33333
    @JulioCesar33333 3 года назад

    Boa tarde. Preciso muito de ajuda!! Tenho que criar uma solução para colocar em planilha ou app, uma roteirização de endereços para viabilizar preço. Exemplo: Saindo da empresa, indo até o início da atividade onde será cobrado. Início da atividade até o final da atividade. Final da atividade até o retorno para a empresa. Reparei que estes códigos que ensinou acima, podem solucionar o meu problema, mas não estou conseguindo copiar para colar. Na verdade, tenho que criar as rotas entre endereços que circulem por ruas ou estradas... É possível?

  • @DanielSantos-gk1ik
    @DanielSantos-gk1ik 3 года назад

    Boa tarde Messias, não consegui executar o código em um teste que fiz aqui. Gostaria de saber se posso te enviar o link do msm pra que possa identificar o erro. Posso remunera-lo pela ajuda

  • @humbertolimaferreira2587
    @humbertolimaferreira2587 2 года назад

    bom dia , amigo meu scripty nao funciono eu tenho que implantar para ver os endereço show de bola é o que eu preciso para fazer um app

  • @projeto-ks8gh
    @projeto-ks8gh 9 месяцев назад

    Estou com um probleminha, inseri mais endereços porém quando executo não retorna o calculo nos novos endereços, podem me ajudar?

    • @projeto-ks8gh
      @projeto-ks8gh 9 месяцев назад

      Cannot read properties of undefined (reading 'legs')
      distance @ MAPS.gs:27 - esse é o erro

  • @edersantana4798
    @edersantana4798 4 года назад

    Olá Messias... Tenho um duvida nela tenho o problema rsrs... Eu fiz o app de salão ... O meu problema é, Eu queria que quando eu clicasse em confirmar agendamento o cliente recebesse essa mensagem... Só que o confirmar está em uma aba da planilha e o cliente, em cadastro de clientes... Acho que a palavra seria concatenar... Só não sei fazer isso... E minha planilha está uma gambiarra só rsrs... Desde já muito obrigado. Sei que vc é muito ocupado com seus vídeo.

  • @humbertolima5373
    @humbertolima5373 2 года назад

    quando eu insiro uma nova distancia ele não calcula automatico eu tenh oque ficar entrando no scripty e precionar o play para rodar o scripty como faço pra deixar automatico isso

    • @MessiasCarvalho
      @MessiasCarvalho  2 года назад

      Da uma olhada na playlist dos scripts:
      ruclips.net/p/PL3D2wgQBWSmicqantcjITpJGYjjaDyYQB

    • @humbertolima5373
      @humbertolima5373 2 года назад

      conseguir muito obg

  • @canaljunebox871
    @canaljunebox871 4 года назад

    Podia ajudar a gente a fazer aquele clone do Instagram no glide né rsrsrs

  • @gersonalves8961
    @gersonalves8961 3 года назад

    Não encontrei o código na descrição

  • @prilaconcursos
    @prilaconcursos 3 года назад

    Eu só queria copiar o texto só script.. Tem. Como?

  • @marcelviolante
    @marcelviolante 2 года назад

    Não consigo atualizar as informações, poderia explicar melhor esta parte?

  • @humbertolimaferreira2587
    @humbertolimaferreira2587 2 года назад

    Bom dia messias eu consigo trazer toda rota por exmplo os nomes das ruas queo google traz que do caninho percorrido os enderecos

    • @MessiasCarvalho
      @MessiasCarvalho  2 года назад +1

      Esta é a api responsável pelo que procura:
      developers.google.com/maps/documentation/directions/overview

  • @matheussilvestre5141
    @matheussilvestre5141 3 года назад

    Onde eu consigo copiar o código ?? sou leigo

  • @orlandoalves5943
    @orlandoalves5943 3 года назад

    voce mencionou que iria deixar o script e nao localizei e tbm nao sei como adicionar a minha planilha tal informação

    • @MessiasCarvalho
      @MessiasCarvalho  3 года назад +1

      Planilha utilizada na descrição. So fazer sua copia.

  • @humbertolimaferreira2587
    @humbertolimaferreira2587 2 года назад

    Me tira uma duvida o scrpty fica rodando ele tem.limite de uso diario?

    • @MessiasCarvalho
      @MessiasCarvalho  2 года назад +1

      O script irá rodar sempre que houver uma alteração/edição na planilha, por isso é necessário por um gatilho interno na planilha pra que o rode o código apenas quando esta for atendida.
      Não tem limitação de script, mas tem limitação dos recursos utilizados como cálculos, envios de email etc...esses tem que olhar na documentação do Google a limitação

    • @humbertolimaferreira2587
      @humbertolimaferreira2587 2 года назад

      @@MessiasCarvalho muito obg

    • @marcoolaniyan6319
      @marcoolaniyan6319 Год назад

      Boa Noite. Como posso fazer para aumentar esse limite diário?

  • @larissastefany8651
    @larissastefany8651 3 года назад

    como fazer taxa de entrega para cada km estabelecido? taxas diferentes a cada km!
    me ajuda kk

  • @jacksonsantos8649
    @jacksonsantos8649 3 года назад

    Messias, Valeu pelo conteudo, muito bom, veja se consegue me ajudar, esta apresentando esse erro: TypeError: Cannot read property 'getLastRow' of null

    • @jacksonsantos8649
      @jacksonsantos8649 3 года назад

      Descobri o erro rsrs, o nome da aba "Planilha1" que estava definido na variável, não era a mesma que estava escrita na aba da planilha do google, por causa do acento "Página1", caso alguém tenha tentado e ter dado errado, creio que e Case Sensitive, tem que ser igual.

    • @jacksonsantos8649
      @jacksonsantos8649 3 года назад

      So tive uma duvida, teria como ter um botão ou algo parecido na planilha, para que eu possa executar o script, sem ter que abrir o Editor de Scritp, tipo uma macro.

  • @emersonsousa3578
    @emersonsousa3578 Год назад

    Essa api e paga ?

  • @dakalunst
    @dakalunst 3 года назад

    Por que nao deixa o codigo se diz que vai deixar?