# VGPS

Esta clase representa la localización GPS de dispositivos móviles.

Las funciones de esta clase son funcionales únicamente en en Android y en iOS.

Requiere importarla previamente a su uso:

`importClass ( "VGPS" );`

El objeto **theGps** representa al geoposicionador del dispositivo móvil y nos permite acceder a la información de geolocalización.

## Indice de funciones

### **De gestión**

Boolean [start](#boolean-start-nmodo-ninterval)( nModo, nInterval )

Void [stop](#void-stop)()

### **De información**

Number [altitude](#number-altitude)()

Number [direction](#number-direction)()

Number [horizontalAccuracy](#number-horizontalaccuracy)()

Number [horizontalSpeed](#number-horizontalspeed)()

Number [latitude](#number-latitude)()

Number [longitude](#number-longitude)()

Number [mode](#number-mode)()

Int [satellites](#int-satellites)()

Int [satellitesInView](#int-satellitesinview)()

dateTime [timeStamp](#datetime-timestamp)()

Number [verticalAccuracy](#number-verticalaccuracy)()

Number [verticalSpeed](#number-verticalspeed)()

## Enumeraciones

**Modos de GPS**

GPSAll = 0                                                                                                                                                                                        &#x20;

GPSSatellites = 1

GPSWiFi = 2&#x20;

## Documentación de funciones

### Funciones de gestión

#### Boolean start( nModo, nInterval )

Inicia la localización GPS del dispositivo.

Devuelve true si la operación ha finalizado correctamente o false en caso de que se haya producido un error.&#x20;

Parámetros:

* nModo: permite indicar el modo de GPS. Ver enum de modos de GPS.
* nIterval: permite establecer un intervalo de actualización de la localización. Si lo dejamos vacío o le ponemos un valor 0 el intervalo la fuente a la que se esté conectado actualizará tan a menudo como sea necesario. Dependerá directamente de la calidad de la conexión.&#x20;

Podemos configurar en el [marco](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/marco) una [conexión de evento](https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/sub-objetos-de-vistas-de-datos/conexion-de-evento) que se dispare cada vez que se actualice la geoposción mediante la señal [geoposición actualizada](https://doc.velneo.com/proyectos-objetos-y-editores/proyecto-de-aplicacion/sub-objetos-de-vistas-de-datos/conexion-de-evento#senal).

#### void stop()

Detiene la localización GPS del dispositivo.

### Funciones de información

#### Number altitude()

Devuelve un número con la altitud de la posición GPS.

#### Number direction()

Devuelve un número con la dirección de la posición GPS.

#### Number horizontalAccuracy()

Devuelve un número con la posición horizontal GPS.

#### Number horizontalSpeed()

Devuelve un número con la velocidad horizontal  GPS.

#### Number latitude()

Devuelve un número con la latitud de la posición GPS.

#### Number longitude()

Devuelve un número con la longitud de la posición GPS.

#### Number mode()

Devuelve un número con el modo de GPS utilizado. Los valores posibles son:

* 0 (Todos).
* 1 (Satélite: para el posicionamiento hace uso de la información de satélites GPS).
* 2 (Celdas/Wifi).

#### int satellites()

Devuelve un número entero con el número de satélites en uso.

#### Int satellitesInView()

Devuelve un número entero con el número de satélites en vista.

#### dateTime timeStamp()

Devuelve en un dato de tipo [tiempo](https://doc.velneo.com/proyectos-objetos-y-editores/proyecto-de-datos/tabla/campo#tiempo) la fecha/hora UTC de la operación.

#### Number verticalAccuracy()

Devuelve un número con la posición vertical GPS.

#### Number verticalSpeed()

Devuelve un número con la velocidad vertical GPS.

##

## Ejemplos

### 1. Iniciar el GPS, obtiene la posición y devolver un mensaje con todos los datos

```javascript
importClass("VGPS") 

var iniciado = theGps.start(0, 5);

if (iniciado) {
 var fecha = new Date(theGps.timeStamp());
 var latitud = theGps.latitude();
 var altitud = theGps.altitude();
 var direccion = theGps.direction();
 var horizontal = theGps.horizontalAccuracy();
 var vertical = theGps.verticalAccuracy();
 var modo = theGps.mode();
 var satelites = theGps.satellites();
 alert("Fecha: " + fecha + "<br>" +
 "Latitud: " + latitud + "<br>" +
 "Altitud: " + altitud + "<br>" +
 "Dirección: " + direccion + "<br>" +
 "Horizontal: " + horizontal + "<br>" +
 "Vertical: " + vertical  + "<br>" +
 "Modo: " + modo + "<br>" +
 "Satélites: " + satelites);
}
else{
 alert("No se ha podido inicair el GPS");
}
```
