PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WX - Trabalhando com GPS
WX - Trabalhando com GPS
Iniciado por Boller, mar., 13 2021 6:16 PM - 1 resposta
Membro registado
3.289 mensagems
Popularité : +89 (91 votes)
Publicado em março, 13 2021 - 6:16 PM
Prezados,

Precisa da APIkey do Google do console de desenvolvimento de projetos web que habilita o google maps funcionar na aplicacao deve ser gerado, para isso deve ter uma conta de desenvolvedor do google e a abaixo esta as Procedures necessárias:





// Summary:
// Syntax:
//GPS_Init ()
//
// Parameters:
// msg:

// For instance:
PROCEDURE GPS_Init(msg)

IF GPSStatus() <> gpsEnabled THEN
IF msg = 1
ToastDisplay("O seu GPS está desativado.",toastShort,vaMiddle,haCenter)
END
ELSE IF GPSStatus() = gpsEnabled OR GPSStatus() = gpsAvailable


IF msg = 1 THEN
GPSInitParameter(gpsSatellite,gpsDirection+gpsEnergyLow+gpsPrecisionLow)
GPSGetPosition(300,"Inicializando GPS...")
ELSE
GPSGetPosition(300,"Inicializando GPS...")
END


IF (grlatitude = "" AND grlongitude = "") OR (grlatitude = 0 AND grlongitude = 0) THEN
ToastDisplay("Inicializando GPS...",toastShort,vaMiddle,haCenter)
END


GPSFollowMovement(GPS_LatitudeLongitudeAtual, 300)

END



// Summary:
// Syntax:
//[ = ] GPS_LatitudeLongitudeAtual ()
//
// Parameters:
// MyPosition:

// For instance:
PROCEDURE GPS_LatitudeLongitudeAtual(MyPosition)

//verifica se esta em zero a latitude e longitude
IF MyPosition..Latitude = 0 AND MyPosition..Longitude = 0 THEN

MyPosition = GPSGetPosition()

MultitaskApp(300)

IF MyPosition..Latitude = 0 AND MyPosition..Longitude = 0 THEN
GPS_UltimaPosicao()
MyPosition..Latitude = grlatitude
MyPosition..Longitude = grlongitude
END

END

//Gravar
HReset(T001_Gps_Posicoes)

T001_Gps_Posicoes.T001_Usuario = 1
T001_Gps_Posicoes.T001_DataHora = DateSys()+TimeSys()
T001_Gps_Posicoes.T001_Latitude = MyPosition..Latitude
T001_Gps_Posicoes.T001_Longitude = MyPosition..Longitude

HAdd(T001_Gps_Posicoes)


gpsPosicaoAtual..Latitude = MyPosition..Latitude
gpsPosicaoAtual..Longitude = MyPosition..Longitude

RESULT(MyPosition)




// Summary:
// Syntax:
// GPS_UltimaPosicao ()
//
// Parameters:
// None
// Return value:
// None
//
// For instance:
// Indicate an example.
//
PROCEDURE GPS_UltimaPosicao()

HReset(T001_Gps_Posicoes)

IF HReadSeekLast(T001_Gps_Posicoes,T001_Usuario,1,hKeepFilter) = True

grlatitude = T001_Gps_Posicoes.T001_Latitude
grlongitude = T001_Gps_Posicoes.T001_Longitude

ELSE

grlatitude = -27.711235
grlongitude = -54.702995

END



// Summary:
// Syntax:
//MultitaskApp ( is int)
//
// Parameters:
// nTempo (int):

// For instance:
PROCEDURE MultitaskApp(nTempo is int)

IF nTempo = 0 THEN
nTempo = 100
END



Multitask(nTempo)






nTempo = nTempo * -1
Multitask(nTempo)




##################################
Assim que usei no ultimo projeto que eu fiz
##################################

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Membro registado
3.289 mensagems
Popularité : +89 (91 votes)
Publicado em março, 13 2021 - 6:25 PM
Codigo fonte

https://repository.windev.com/resource.awp…

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/