PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Special cases
  • 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 the activation status of the geolocation provider or asks to be notified when the status changes.
WEBDEV - Browser code Retrieves the activation status of the geolocation provider.
Example
// Checks the status of the GPS provider
IF GPSStatus() = gpsDisabled THEN
Info("Geolocation is not enabled.")
END
Syntax

Retrieving the activation status of the provider Hide the details

<Result> = GPSStatus()
<Result>: Integer constant
Activation status of the location provider. The following values can be returned:
gpsDisabledThe provider is disabled.
gpsEnabledThe provider is enabled.
gpsErrorError while retrieving the activation status of the provider. To get more details on the error, use ErrorInfo.
WEBDEV - Browser code This constant is not available.
Remarks

Special cases

    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.
    Related Examples:
    WM Geolocation Cross-platform examples (WINDEV Mobile): WM Geolocation
    [ + ] This example explains how to perform proximity searches with geolocation :
    - search around me
    - search in a city, at a given address, or close to a specific address.
    The results are displayed in a looper and in a map with markers.
    Android GPS Android (WINDEV Mobile): Android GPS
    [ + ] This example presents the use of the GPS functions of WLanguage in an Android application.
    It is used to retrieve at regular interval:
    - The latitude
    - The longitude
    - The altitude
    - The speed
    - The direction
    Component: wd270java.dll
    Minimum version required
    • Version 15
    This page is also available for…
    Comments
    Exemplo
    https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/3701-trabalhando-com-gps/read.awp
    Boller
    13 Mar. 2021
    EXAMPLE: GPS status and on / off GPS via Java
    FONTE:

    http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/9-windev-mobile-verifica-gps-ligado-posicao/read.awp

    ---x---

    Example 01:
    #####################################################

    Procedure GPS_VerificaStatus()

    Retorno is string = ""

    GloLatitude , GloLongitude is real = 0

    GPSInitParameter(gpsSatellite,gpsPrecisionHigh)

    // Recuperação da posição
    Retorno is geoPosition = GPSGetPosition() // 2000 = Intervalo máxo,p de 20 segundos

    GloLatitude = NumToString(Retorno..Latitude,"+-10.6f")
    GloLongitude = NumToString(Retorno..Longitude,"+-10.6f")

    Retorno = GloLatitude +"; "+ GloLongitude

    IF GloLatitude = 0 AND GloLongitude = 0 OR GloLatitude = null AND GloLongitude = null
    ToastDisplay("GPS Desligado!!!")
    END

    RESULT(Retorno )

    ---x---



    Example 02:
    #####################################################

    //Java GPS_On

    import android.app.Activity;
    import java.lang.*;
    import android.util.*;
    import java.lang.Exception;
    import android.util.Log;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;

    PUBLIC static void GPS_On()
    {
    Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
    intent.putExtra("enabled", True);
    getActiviteEnCours().sendBroadcast(intent);
    }

    ---x---

    //Java GPS_Off

    import android.app.Activity;
    import java.lang.*;
    import android.util.*;
    import java.lang.Exception;
    import android.util.Log;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;

    PUBLIC static void GPS_Off()
    {
    Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
    intent.putExtra("enabled", False);
    getActiviteEnCours().sendBroadcast(intent);
    }


    ---x---

    OBS.:
    You must enable these options in the Android Manifest XML Windev Mobile

    A) Android.Permission.WRITE_SECURE_SETTINGS

    B) Android.Permission.WRITE_SETTINGS

    ---x---



    Example 03
    #####################################################
    Another way to test whether this off GPS:

    // GLOBAL
    GloGpsAtivado is boolean = False

    //Open Window
    Procedure GPS_Inicializar()

    GPSInitParameter(gpsSatellite,gpsPrecisionHigh +gpsSpeed)

    IF GPSStatus() <> gpsEnabled THEN

    Popup("Para melhorar a precisão da sua localização, ative o seu GPS","L")

    gloStatusGps = False

    ELSE
    ChangeGPSStatus(GPSStatus())
    END

    GPSStatus(ChangeGPSStatus)

    ---x---

    //Procedure Global

    Procedure ChangeGPSStatus(nStatus)
    IF gnCurrentStatus = nStatus THEN
    RETURN
    END

    gnCurrentStatus = nStatus

    IF nStatus = gpsEnabled OR nStatus = gpsAvailable THEN

    GPSFollowMovement(GetPosition,300)

    END

    SWITCH nStatus
    CASE gpsEnabled
    GloGpsAtivado = True // <------------- Ligado
    CASE gpsDisabled
    GloGpsAtivado = False // <------------- Desligado
    gloStatusGps = False
    CASE gpsOffService
    CASE gpsUnavailable
    CASE gpsAvailable
    END

    adrianoboller
    14 Feb. 2015