Calculando a distância entre dois pontos através da DistanciaGPS – Maratona AdvPL e TL++ 145

Nesse vídeo demonstraremos a utilização da função DistanciaGPS, que serve para calcular a distância entre dois pontos de latitude e longitude.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe145
Função que calcula a distância (em metros) entre duas distâncias
@type Function
@author Atilio
@since 16/12/2022
@obs 
    Função DistanciaGPS
    Parâmetros
        + Latitude Inicial
        + Longitude Inicial
        + Latitude Final
        + Longitude Final
    Retorno
        + Retorna a distância

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe145()
    Local aArea      := FWGetArea()
    Local nLati1     := 0
    Local nLong1     := 0
    Local nLati2     := 0
    Local nLong2     := 0
    Local nResultado := 0

    //Latitude e Longitude inicial (Avenida Castelo Branco em Bauru-SP)
    nLati1 := -22.349679429772337
    nLong1 := -49.10019604880774

    //Latitude e Longitudo final (Avenida Duque de Caxias em Bauru-SP)
    nLati2 := -22.327814567707186
    nLong2 := -49.06405753456426

    //Busca a distância entre as latitudes e longitudes e mostra a mensagem (algo em torno de 4 KM)
    nResultado := DistanciaGPS(nLati1, nLong1, nLati2, nLong2)
    FWAlertInfo("O resultado calculado é " + cValToChar(nResultado), "Teste DistanciaGPS")

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação