PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • Managing locks
  • Browsers allowing the geolocation
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Retrieves information about the current device position.
Versions 16 and later
WEBDEV - Browser code This function is now available in Browser code.
New in version 16
WEBDEV - Browser code This function is now available in Browser code.
WEBDEV - Browser code This function is now available in Browser code.
Versions 22 and later
Windows This function is now available for WINDEV applications.
New in version 22
Windows This function is now available for WINDEV applications.
Windows This function is now available for WINDEV applications.
Example
MaPosition is géoPosition
MaPosition = GPSGetPosition()
// Vérifie validité de la position avec ErreurDétectée
IF ErrorOccurred THEN RETURN
Info(" Latitude : " + MaPosition.Latitude) 
Info(" Longitude : " + MaPosition.Longitude)
Versions 16 and later
WEBDEV - Browser code
// Géolocalisation depuis WEBDEV, une procédure navigateur est appelée.
// Traitement réalisé depuis un bouton ayant comme action "aucune"
GPSGetPosition(ProcNavigateur, 200)
// Procédure navigateur "ProcNavigateur"
PROCÉDURE ProcNavigateur(MaPosition is géoPosition, nMonErreur is int)
 
SWITCH nMonErreur
 
CASE gpsErrorOK
// Aucune erreur n'a été détectée
PAGE_Page1.SAI_SansNom1 = MaPosition.Altitude + " " + ...
MaPosition.Longitude
CASE gpsErrorRights
PAGE_Page1.SAI_SansNom1 = ...
"Le navigateur n'a pas les droits " + ...
"pour utiliser la géolocalisation (ou site non HTTPS)."
CASE gpsErrorPosition
PAGE_Page1.SAI_SansNom1 = "Impossible de déterminer la position " + ...
"(erreur interne du fournisseur d'accès par exemple)."
CASE gpsErrorTimeout
PAGE_Page1.SAI_SansNom1 = ...
"La position n'a pas pu être récupérée " + ...
"dans le temps imparti."
OTHER CASE
PAGE_Page1.SAI_SansNom1 = "Erreur indéterminée"
END
New in version 16
WEBDEV - Browser code
// Géolocalisation depuis WEBDEV, une procédure navigateur est appelée.
// Traitement réalisé depuis un bouton ayant comme action "aucune"
GPSGetPosition(ProcNavigateur, 200)
// Procédure navigateur "ProcNavigateur"
PROCÉDURE ProcNavigateur(MaPosition is géoPosition, nMonErreur is int)
 
SWITCH nMonErreur
 
CASE gpsErrorOK
// Aucune erreur n'a été détectée
PAGE_Page1.SAI_SansNom1 = MaPosition.Altitude + " " + ...
MaPosition.Longitude
CASE gpsErrorRights
PAGE_Page1.SAI_SansNom1 = ...
"Le navigateur n'a pas les droits " + ...
"pour utiliser la géolocalisation (ou site non HTTPS)."
CASE gpsErrorPosition
PAGE_Page1.SAI_SansNom1 = "Impossible de déterminer la position " + ...
"(erreur interne du fournisseur d'accès par exemple)."
CASE gpsErrorTimeout
PAGE_Page1.SAI_SansNom1 = ...
"La position n'a pas pu être récupérée " + ...
"dans le temps imparti."
OTHER CASE
PAGE_Page1.SAI_SansNom1 = "Erreur indéterminée"
END
WEBDEV - Browser code
// Géolocalisation depuis WEBDEV, une procédure navigateur est appelée.
// Traitement réalisé depuis un bouton ayant comme action "aucune"
GPSGetPosition(ProcNavigateur, 200)
// Procédure navigateur "ProcNavigateur"
PROCÉDURE ProcNavigateur(MaPosition is géoPosition, nMonErreur is int)
 
SWITCH nMonErreur
 
CASE gpsErrorOK
// Aucune erreur n'a été détectée
PAGE_Page1.SAI_SansNom1 = MaPosition.Altitude + " " + ...
MaPosition.Longitude
CASE gpsErrorRights
PAGE_Page1.SAI_SansNom1 = ...
"Le navigateur n'a pas les droits " + ...
"pour utiliser la géolocalisation (ou site non HTTPS)."
CASE gpsErrorPosition
PAGE_Page1.SAI_SansNom1 = "Impossible de déterminer la position " + ...
"(erreur interne du fournisseur d'accès par exemple)."
CASE gpsErrorTimeout
PAGE_Page1.SAI_SansNom1 = ...
"La position n'a pas pu être récupérée " + ...
"dans le temps imparti."
OTHER CASE
PAGE_Page1.SAI_SansNom1 = "Erreur indéterminée"
END
Syntax
WEBDEV - Browser code

Retrieving the information in browser code Hide the details

GPSGetPosition([<WLanguage procedure> [, <Timeout>]])
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure in browser code ("callback") called when the location is retrieved.
This procedure has the following format:
PROCEDURE <Nom de la Procédure>(<Position>,<Erreur>)
where:
  • <Error> is an Integer constant corresponding to the error code and that can take the following values:
    gpsErrorOKNo error was detected.
    gpsErrorRights
    • The browser has no sufficient rights to use geolocation.
    • The browser is recent and the site is not using the HTTPS secure protocol.
    gpsErrorPositionUnable to determine the location (e.g., access provider internal error).
    gpsErrorTimeoutThe location could not be retrieved within the timeout.
<Timeout>: Optional integer or optional Duration
Maximum timeout (in hundredths of a second) for updating the device position.
  • If this timeout ends before the device position is updated, gpsErrorTimeOut is returned in the <Error> parameter of the WLanguage procedure.
  • If this parameter is not specified, the timeout is set to 1 minute.
Remark: This parameter can correspond to:
  • an integer corresponding to the number of hundredths of a second,
  • a Duration variable,
  • Versions 23 and later
    the duration in a readable format (e.g., 1 s or 10 ms).
    New in version 23
    the duration in a readable format (e.g., 1 s or 10 ms).
    the duration in a readable format (e.g., 1 s or 10 ms).
Remarks

Managing locks

GPSGetPosition blocks execution until the current device location is retrieved or until the timeout defined by the <Timeout> parameter expires.
If the function is called in the main thread of the application, an hourglass will be displayed during the function execution. The message displayed by the hourglass can be specified via the <Message> parameter.
Otherwise, the execution of secondary thread will be locked during the function execution and no hourglass will be displayed.
WEBDEV - Browser code This function is not locking.
Remark: To find out the last known device position without timeout, use GPSLastPosition. Caution, the positioning information that was retrieved may not correspond to the current device position if the device was moved while the GPS signal was not valid for example. It is possible to know the date and time at which the position was calculated thanks to the Property DateMesure of the Variable of type geoPosition.
WEBDEV - Browser code

Browsers allowing the geolocation

Caution: Geolocation is only available on certain modern browsers:
  • FireFox from version 3.5,
  • Chrome from version 5.0.342.1,
  • Opera from version 10.6,
  • Safari from version 5.0.
During the call to a geolocation function, the browser requests a location authorization.Remark: From Chrome 50 (including on Android), GPSGetPosition can only be used on the sites secured via an SSL certificate for example. If the site is not secured, the function returns a result that cannot be used. During the test in local (localhost), the function operates properly.
Business / UI classification: Business Logic
Component: wd270java.dll
Minimum version required
  • Version 15
This page is also available for…
Comments
Click [Add] to post a comment