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
  • Propiedades recuperadas
  • Notas
  • Modo de funcionamiento en iPhone/iPad
  • Permisos necesarios
  • Funcionalidad de aplicación requerida
  • Navegadores que permiten la geolocalización
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
Solicita que se le notifique periódicamente la ubicación actual del dispositivo.
Ejemplo
// Enables a procedure to receive the device's location at regular intervals
GPSFollowMovement(MovementProc)
// Procedure
PROCEDURE MovementProc(pos is geoPosition)
 
Info(" Latitude: " + pos.Latitude)  
Info(" Longitude: " + pos.Longitude)
Sintaxis
Universal Windows 10 AppAndroidWidget Android iPhone/iPadIOS WidgetMac Catalyst

Activando el mecanismo de Notification (en un móvil) Ocultar los detalles

GPSFollowMovement(<WLanguage procedure> [, <Timeout> [, <Distance>]])
<WLanguage procedure>: Nombre de Procedure
Nombre del procedimiento WLanguage llamado en cada Notification.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Location>)
es una variable de tipo geoPosition que contiene información sobre la ubicación del dispositivo en el momento del Notification.
<Timeout>: Entero o duración opcional
Tiempo mínimo de espera (en centésimas de segundo) entre dos notificaciones. Si no se especifica este parámetro, el tiempo mínimo de espera se set a 60 segundos.
Observación: Este parámetro puede ser:
  • un número entero que corresponde al número de centésimas de segundo,
  • una variable de tipo Duration,
  • la duración en un formato legible (por ejemplo, 1 s o 10 ms).
Universal Windows 10 App Este parámetro no se tiene en cuenta.
<Distance>: Real opcional
Distancia mínima (en metros) entre dos notificaciones.
Si no se especifica este parámetro, la distancia mínima será set a 5 metros.
WEBDEV - Código Navegador

Habilitar el mecanismo Notification en el código del navegador Ocultar los detalles

GPSFollowMovement(<WLanguage procedure>)
<WLanguage procedure>: Nombre de Procedure
Nombre del procedimiento WLanguage llamado en cada Notification. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Location>, <Error>)
donde:
  • es una variable de tipo geoPosition que contiene información sobre la ubicación del dispositivo en el momento de la Notification. Para determinar si se asignó un valor a las propiedades Velocidad, Precisión, Dirección o Altitud de una variable geoPosition cuando se recuperó la ubicación, utilice las propiedades SpeedValid, AccuracyValid, DirectionValid y AltitudeValid.
  • es una constante entera que corresponde al código de error y que puede tomar los siguientes valores:
    gpsErrorOKNo se ha detectado ningún error.
    gpsErrorPositionNo se ha podido determinar la ubicación (por ejemplo, error interno del proveedor de acceso).
    gpsErrorRightsEl navegador no tiene suficientes derechos para utilizar la geolocalización.
    gpsErrorTimeoutLa ubicación no pudo ser recuperada dentro del tiempo de espera.

Desactivando el mecanismo de Notification

GPSFollowMovement()
Observaciones
Universal Windows 10 AppAndroidWidget Android iPhone/iPadIOS WidgetMac Catalyst

Propiedades recuperadas

  • Para determinar si se asignó un valor a las propiedades Velocidad, Precisión, Dirección o Altitud de una variable geoPosition cuando se recuperó la ubicación, utilice las propiedades SpeedValid, AccuracyValid, DirectionValid y AltitudeValid.
  • Para reiniciar una geoPosition Variable, utilice VariableReset.
  • AndroidWidget Android iPhone/iPadIOS WidgetMac Catalyst Se recomienda restablecer los parámetros del proveedor de localización con GPSInitParameter antes de recuperar una localización.
  • La información de posicionamiento recuperada corresponde a la última ubicación conocida del dispositivo: por lo tanto, pueden no corresponder a la ubicación actual del dispositivo si éste se movió mientras la señal GPS no era válida, por ejemplo. Para determinar la fecha y la hora en la que se ha calculado la posición se puede utilizar el MeasurementDate Property del geoPosition Variable.
  • Velocidad, Precisión, Dirección y Altitud se especificarán sólo si el proveedor de la ubicación lo permite (en caso contrario, estas propiedades tomarán su valor Default).
    AndroidWidget Android iPhone/iPadIOS WidgetMac Catalyst El proveedor de localización se puede configurar con GPSInitParameter.
Universal Windows 10 AppAndroidWidget Android iPhone/iPadIOS WidgetMac Catalyst

Notas

  • Las funciones de geolocalización pueden consumir muchos recursos en el dispositivo (batería, ancho de banda, etc.).. Por lo tanto, le aconsejamos que no defina valores muy pequeños para el tiempo muerto mínimo y para la distancia mínima entre dos notificaciones.
  • AndroidiPhone/iPadIOS WidgetMac Catalyst Puede activar el seguimiento de la ubicación en el Background sin consumir recursos a través de geoTrackingEnable, geoTrackingDisable, geoTrackingStatus y geoTrackingProcedure. Para obtener más información, consulte Seguimiento de la ubicación.
  • iPhone/iPadIOS WidgetMac Catalyst Al generar la aplicación, puede permitir que se llame a GPSFollowMovement cuando la aplicación está en el Background (opción "Permitir llamar GPSF ollowMovement y BeaconDetectPrecise cuando la aplicación está en el Background " en el paso "Configuración" de asistente ).. En este caso, la geolocalización continuará cuando la aplicación se ejecute en la Background o cuando el dispositivo esté en modo de espera. Para obtener más información, consulte Generación de una aplicación iOS.
  • Para no recibir más notificaciones, llame a la función GPSFollowMovement sin parámetros o a la función GPSEnd.
iPhone/iPadIOS WidgetMac Catalyst

Modo de funcionamiento en iPhone/iPad

Cuando se ejecuta por primera vez una función GPS, el sistema solicita la geolocalización Permission al usuario. Si el usuario se niega, todas las funciones GPS utilizadas en el resto de la aplicación fallarán (error fatal)..
Para volver a permitir el uso de GPS para esta aplicación, se debe modificar la configuración del sistema de la aplicación..
AndroidWidget Android

Permisos necesarios

La llamada a esta función modifica los permisos requeridos por la aplicación.
Requerido Permission: ACCESS_FINE_LOCATION.
Caso específico de Android 11: Esta función requiere la Permission ACCESS_BACKGROUND_LOCATION para acceder a la ubicación del dispositivo.
Esta Permission permite utilizar la función cuando la aplicación está en la Background.
Si la aplicación necesita utilizar la ubicación de Background:
  • Agregar manualmente el permiso "ACCESS_BACKGROUND_LOCATION" en el asistente de generación de la aplicación Android.
  • Solicitar explícitamente la ubicación de fondo Permission con PermissionRequest. Por ejemplo:
    PermissionRequest(permBackgroundLocation, Callback)
    INTERNAL PROCEDURE Callback(p is Permission)
    IF p.Granted THEN
    // Functions that require background location access can be used
    END
    END
Una ventana permite a los usuarios:
  • permitir el acceso a la ubicación del dispositivo mientras la aplicación está en la Background,
  • permitir el acceso a la ubicación sólo mientras la aplicación está en uso,
  • negar el acceso a la ubicación. El usuario puede cambiar estos permisos en cualquier momento en la configuración de Android.

Observaciones:
  • Siga las directrices de Google para las aplicaciones que requieren acceso a la ubicación de Background. Para obtener más información, consulte https://support.google.com/googleplay/android-developer/answer/9799150. Si no se cumplen estas condiciones (especialmente los requisitos de información del usuario), es posible que no se acepte la publicación de las aplicaciones en Google Play.
  • La ubicación de fondo Permission sólo debe solicitarse si se ha concedido la ubicación Permission. De lo contrario, PermissionRequest fallará.
  • Si la opción elegida por el usuario para la solicitud de acceso a la localización de Background es más restrictiva que la opción elegida para la solicitud de acceso a la localización, la aplicación se reiniciará automáticamente.
  • En los dispositivos con Android 10 o anterior, si se ha concedido la ubicación Permission a la aplicación, se concederá la ubicación de fondo Permission sin mostrar una ventana.
Universal Windows 10 App

Funcionalidad de aplicación requerida

Cuando se utiliza esta función, se debe declarar una funcionalidad de la aplicación en el asistente de generación de aplicaciones.
Característica necesaria: Geolocalización
Esta característica permite a las aplicaciones acceder a las características de geolocalización que se encuentran en el dispositivo o en el equipo.
Atención: Caso específico de Android 12: Para ejecutar el Procedure llamado por GPSFollowMovement cuando la aplicación está en segundo plano, es necesario ejecutar un Thread persistente 7200650061006400 ( ThreadPersistent ).
WEBDEV - Código Navegador

Navegadores que permiten la geolocalización

Atención: La geolocalización sólo está disponible en ciertos navegadores modernos:
  • FireFox a partir de la versión 3.5,
  • Cromo de la versión 5.0.342.1,
  • Opera a partir de la versión 10.6,
  • Safari a partir de la versión 5.0.
Durante la llamada a una función de geolocalización, el navegador solicita una autorización de localización.Observación: Desde Chrome 50 (incluso en Android ), GPSFollowMovement solo se puede usar en los sitios protegidos a través de SSL Certificate 00610074006500 por ejemplo. Si el sitio no es seguro, la función devuelve un resultado que no se puede utilizar. Durante la prueba en local (localhost), la función funciona correctamente.
Componente: wd290java.dll
Versión mínima requerida
  • Versión 15
Esta página también está disponible para…
Comentarios
GPS Functions
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: 24/06/2023

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