AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de geolocalización
  • Presentación
  • Implementación de la gestión GPS
  • Comprobación de si el GPS está habilitado
  • Recibir una notificación cuando cambie el estado del GPS
  • Seguimiento de la posición
  • Terminar el uso de las funciones GPS
  • ¿Cuándo usar cada función?
  • Funciones disponibles según las plataformas
  • Tabla de resumen
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Gestión de la geolocalización y el GPS
Presentación
WINDEV Mobile y WEBDEV le permiten explotar la geolocalización y las características GPS que se encuentran en los dispositivos móviles y los navegadores.
Universal Windows 10 App En las aplicaciones Phone, puede:
  • La información de get sobre la última ubicación conocida del dispositivo.
  • Solicitar que se le notifique cuando el dispositivo se acerque a un área específica.
  • Averiguar la ubicación actual del dispositivo.
  • Recuperar un Address.
  • ...
Implementación de la gestión GPS

Comprobación de si el GPS está habilitado

Para comprobar si el GPS está activado, basta con utilizar GPSStatus.
Ejemplo:
// Is the GPS enabled?
IF GPSStatus() = gpsEnabled THEN
Error("The GPS cannot operate.", ...
"It must be enabled to access this application.")
EndProgram()
END

Recibir una notificación cuando cambie el estado del GPS

Para ser notificado cuando el estado del GPS cambia, simplemente llame a GPSStatus y especifique el nombre del procedimiento que manipular el estado actual del GPS.
Ejemplo:
GPSStatus(_ChangeOfGPSStatus)
El código del procedimiento es el siguiente:
PROCEDURE _ChangeOfGPSStatus(Status)
 
IF CurrentStatus = Status THEN RETURN
 
CurrentStatus = Status
 
EndTimerSys(TIMER_RETRIEVAL)
 
SWITCH Status
CASE gpsEnabled
// The provider was enabled by the user.
STC_Status = "GPS enabled"
CASE gpsDisabled
// The provider was disabled by the user.
STC_Status = "GPS disabled"
CASE gpsOffService
// The provider is off service.
STC_Status = "GPS off service"
CASE gpsUnavailable
// The provider is temporarily unavailable.
STC_Status = "GPS unavailable"
CASE gpsAvailable
// The provider is available.
STC_Status = "GPS available"
// Requests location tracking with a maximum time between two calls to
// GPSFollowMovement(_GetLocation, 1000)
OTHER CASE
END
En esta Procedure, si el GPS está activado, se utiliza un Procedure específico para el seguimiento del dispositivo.

Seguimiento de la posición

Para rastrear la ubicación del dispositivo, simplemente utilice GPSFollowMovement y especifique el nombre del procedimiento que manipular los cambios de ubicación.
Ejemplo:
GPSFollowMovement(_GetLocation, 1000)
El código de la Procedure puede ser el siguiente:
PROCEDURE _GetLocation(MyLocation)
 
// Update the information about the location
// Latitude and longitude
STC_Latitude = StringBuild("Latitude: %1", MyLocation.Latitude)
STC_Longitude = StringBuild("Longitude: %1", MyLocation.Longitude)
 
// Speed
IF MyLocation.SpeedValid = True THEN
STC_Speed = StringBuild("Speed: %1 m/s", MyLocation.Speed)
IMG_SPEED_VALIDITY = IMG_OK
ELSE
STC_Speed = "Speed: N/A"
IMG_SPEED_VALIDITY = IMG_NOTOK
END
 
// Altitude
IF MyLocation.AltitudeValid = True THEN
STC_Altitude = StringBuild("Altitude: %1 m", MyLocation.Altitude)
IMG_ALTITUDE_VALIDITY = IMG_OK
ELSE
STC_Altitude = "Altitude: N/A"
IMG_ALTITUDE_VALIDITY = IMG_NOTOK
END
 
// Direction
IF MyLocation.DirectionValid = True THEN
STC_Direction = StringBuild("Direction: %1 ° E", MyLocation.Direction)
IMG_DIRECTION_VALIDITY = IMG_OK
ELSE
STC_Direction = "Direction: N/A"
IMG_DIRECTION_VALIDITY = IMG_NOTOK
END
 
STC_Last_update = StringBuild("Last update on %1 at %2.", ...
DateToString(MyLocation.MeasurementDate.Date), ...
TimeToString(MyLocation.MeasurementDate.Time))
STC_Last_update.Visible = True
En este código, MiLugar es un geoPosition Variable. Las propiedades de este tipo de Variable se utilizan para averiguar las características de la ubicación.

Terminar el uso de las funciones GPS

Dependiendo de los ajustes seleccionados y de la frecuencia de llamada, las funciones de geolocalización pueden consumir muchos recursos del dispositivo (batería, ancho de banda, etc.). se debe llamar a GPSEnd cuando las funciones de localización ya no son utilizadas por la aplicación.
¿Cuándo usar cada función?
Función¿Cuándo usarla?PrecisiónEl consumo de energía
geoTrackingXXXSeguimiento permanente de los cambios de ubicación, incluso cuando la aplicación está en la Background.Alta precisión, pero la frecuencia de las notificaciones es baja y varía según el sistema. Bajo
GPSFollowMovementSeguimiento permanente de los cambios de ubicación cuando la aplicación está en primer plano.Precisión según GPSInitParameter. Consumo según GPSInitParameter.
GPSDetectPositionNotification de la proximidad de un lugar determinado cuando la aplicación está en primer plano. Precisión según GPSInitParameter. Consumo según GPSInitParameter.
GPSGetPositionLa ubicación actual de get en un momento específico cuando la aplicación está en primer plano. Puede tardar mucho, dependiendo de los alrededores (dentro de un edificio, día nublado, etc.).Precisión según GPSInitParameter. Depende del número de llamadas.
GPSLastPositionInmediatamente get la última ubicación conocida del dispositivo.Bajo consumo, ya que depende de cuándo se recuperó la última ubicación.... También depende de GPSInitParameter. Bajo consumo.
Funciones disponibles según las plataformas

Tabla de resumen

El tabla que se muestra a continuación presenta las diferentes funciones de geolocalización/GPS y las diferentes plataformas para las que están disponibles actualmente (este tabla puede evolucionar con cada versión):
Funciones
Universal Windows 10 App Aplicación universal para Windows
geoAzimuthXX
geoDistanceXXX
geoGetAddressXX
geoGetAreaXXX
geoRunAppXX
geoTrackingDisableXX
geoTrackingEnableXX
geoTrackingProcedureXX
geoTrackingStatusXX
GPSDetectPositionXX
GPSEndXXX
GPSFollowMovementXXXX
GPSGetPositionXXXX
GPSInfoXX
GPSInitParameterXXX
GPSLastPositionXXXX
GPSStatusXXXX
GPSStopDetectionXX
Versión mínima requerida
  • Versión 16
Esta página también está disponible para…
Comentarios
video gpsgetposition
https://youtu.be/4MqAx_qiFts

https://windevdesenvolvimento.blogspot.com/2019/01/dicas-1987-windev-mobile-dicas-14.html


amarildo
16 01 2019
Endereço das coordenadas
https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/519-busca-endereco-rota-endereco-das-coordendas-523/read.awp?hl=enderecodascoordenadas

https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/2875-informatica-exemplo-google-maps-com-json-retornando-distancia/read.awp?lastview
BOLLER
10 11 2018

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local