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
  • Casos especiales
  • Funcionalidad de aplicación requerida
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 el estado de activación del proveedor de geolocalización o pide ser notificado cuando cambia el estado.
Ejemplo
// Checks the status of the GPS provider
IF GPSStatus() = gpsDisabled THEN
Info("Geolocation is not enabled.")
END
Universal Windows 10 App
// Branches a notification procedure if the status of the GPS is modified
GPSStatus(ProcGPSStatus)
// Procedure called whenever the status of the GPS is modified
PROCEDURE ProcGPSStatus(GPS_Status is int)
 
IF GPS_Status = gpsUnavailable THEN
Info("Geolocation not available.")
END
Sintaxis

Recuperar el estado de activación del proveedor Ocultar los detalles

<Result> = GPSStatus()
<Result>: Constante de tipo Integer
Estado de activación del proveedor de la ubicación. Se pueden devolver los siguientes valores:
gpsDisabledEl proveedor está incapacitado.
gpsEnabledEl proveedor está habilitado.
gpsErrorError al recuperar el estado de activación del proveedor. Para obtener más información sobre el error, utilice la función ErrorInfo.
WINDEVUniversal Windows 10 App Esta constante no está disponible.
WINDEVUniversal Windows 10 App

Pedir que se le notifique cuando cambie el estado de activación Ocultar los detalles

GPSStatus(<WLanguage procedure>)
<WLanguage procedure>: Nombre de Procedure
Procedimiento WLanguage (procedimiento "callback") llamado para cada Notification.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Status>)
es una constante entera que corresponde al nuevo estado del proveedor.
Puede tomar los siguientes valores:
gpsAvailableEl proveedor está disponible.
gpsDisabledEl proveedor fue desactivado por el usuario.
gpsEnabledEl proveedor fue habilitado por el usuario.
gpsOffServiceEl proveedor está fuera de servicio.
gpsUnavailableEl proveedor no está disponible temporalmente.
Observaciones

Casos especiales

  • Universal Windows 10 App Para dejar de recibir notificaciones cuando cambia el estado, utilice la función GPSStatus con una cadena vacía ("") como parámetro o utilice GPSEnd.
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.
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
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 02 2015

Última modificación: 24/06/2023

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