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
  • Gestión de cierres
  • 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
Recupera información sobre la posición actual del dispositivo.
Ejemplo
MyLocation is geoPosition
MyLocation = GPSGetPosition()
// Checks the position validity with ErrorOccurred
IF ErrorOccurred THEN RETURN
Info(" Latitude : " + MyLocation.Latitude) 
Info(" Longitude : " + MyLocation.Longitude)
WEBDEV - Código Navegador
// Geolocation from WEBDEV, a browser procedure is called.
// Process performed from a button whose action is "none"
GPSGetPosition(BrowserProc, 200)
// "BrowserProc" browser procedure
PROCEDURE BrowserProc(MyLocation is geoPosition, nMyError is int)
 
SWITCH nMyError
 
CASE gpsErrorOK
// No error was detected
PAGE_Page1.EDT_NoName1 = MyLocation.Altitude + " " + ...
MyLocation.Longitude
CASE gpsErrorRights
PAGE_Page1.EDT_NoName1 =  ...
"The browser has no sufficient rights " + ...
"to use the geolocation (or non-HTTPS site)."
CASE gpsErrorPosition
PAGE_Page1.EDT_NoName1 = "Unable to define the position " + ...
"(internal error of provider for example)."
CASE gpsErrorTimeout
PAGE_Page1.EDT_NoName1 =  ...
"The position was not retrieved " + ...
" within the alloted time."
OTHER CASE
PAGE_Page1.EDT_NoName1 = "Undefined error"
END
Sintaxis
WEBDEV - Código Navegador

Recuperar la información en el código del navegador Ocultar los detalles

GPSGetPosition([<WLanguage procedure> [, <Timeout>]])
<WLanguage procedure>: Nombre de Procedure
Nombre del lenguaje WL Procedure en el código del navegador ("callback") llamado cuando se recupera la ubicación.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Position>,<Error>)
donde:
  • <Error> es una constante entera correspondiente 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).
    gpsErrorRights
    • El navegador no tiene suficientes derechos para utilizar la geolocalización.
    • El navegador es reciente y el sitio no utiliza el protocolo HTTPS secure.
    gpsErrorTimeoutLa ubicación no pudo ser recuperada dentro del tiempo de espera.
<Timeout>: Entero o duración opcional
Tiempo máximo de espera (en centésimas de segundo) para actualizar la posición del dispositivo.
  • Si este tiempo termina antes de que se actualice la ubicación del dispositivo, se devuelve el error gpsErrorTimeOut en el parámetro <Error> del procedimiento WLanguage.
  • Si no se especifica este parámetro, el tiempo de espera es de set a 1 minuto.
Observación: Este parámetro puede corresponder a:
  • 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).
Observaciones

Gestión de cierres

GPSGetPosition bloquea la ejecución hasta que se recupere la ubicación actual del dispositivo o hasta que expire el tiempo de espera definido por el parámetro <Timeout>..
Si se llama a la función en el hilo principal de la aplicación, se mostrará un reloj de arena durante la ejecución de la función. El mensaje que muestra el reloj de arena se puede especificar mediante el parámetro <Mensaje>..
De lo contrario, la ejecución de la Thread secundaria se bloqueará durante la ejecución de la función y no se mostrará ningún reloj de arena.
WEBDEV - Código Navegador Esta función no se bloquea.
Observación: Para conocer la última posición conocida del dispositivo sin que se agote el tiempo de espera, utilice GPSLastPosition. Atención, la información de posicionamiento recuperada puede no corresponderse con la posición actual del dispositivo si éste se ha movido mientras la señal GPS no era válida, por ejemplo.. Puede utilizar el MeasurementDate Property del geoPosition Variable para determinar la fecha y la hora en que se calculó la posición.
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: A partir de Chrome 50 (incluso en Android), GPSGetPosition sólo puede utilizarse en los sitios asegurados mediante un SSL Certificate 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.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290java.dll
Versión mínima requerida
  • Versión 15
Esta página también está disponible para…
Comentarios
Exemplo
https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/3701-trabalhando-com-gps/read.awp
Boller
13 03 2021
Video GpsGetPosition
https://youtu.be/4MqAx_qiFts

https://windevdesenvolvimento.blogspot.com/2019/01/dicas-1987-windev-mobile-dicas-14.html
amarildo
16 01 2019
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
Video Trajeto Mapa
https://youtu.be/bSk0ysOlacE
amarildo
03 11 2018

Última modificación: 27/05/2022

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