Desarrollo

Cómo usar los plugins geolocation y launchnavigator en Ionic 3

Para algunos de nosotros, el plugin de geolocalización puede ser muy útil. Con él, podemos obtener la ubicación del usuario y usarla para diferentes propósitos en nuestros proyectos. En este caso, obtendremos la ubicación del usuario, la almacenaremos junto con algunas variables y luego usaremos esas variables para enviarlas como parámetros al complemento del navegador de lanzamiento y ejecutaremos la aplicación Google Maps (si está disponible) para mostrar la ruta del usuario ubicación a una ubicación específica con ayuda de Ionic 3.

Comencemos:

1. Primero hay que instalarlo ejecutando este comando:

$ ionic cordova plugin add cordova-plugin-geolocation
$ npm install --save @ ionic-native / geolocation

2. Luego tenemos que declararlo en nuestro archivo app.module.ts

import { Geolocation } from '@ionic-native/geolocation';

providers: [
    StatusBar,
    SplashScreen,
    Geolocation,
    {provide: ErrorHandler, useClass: IonicErrorHandler} ]

3. También debemos declararlo en el componente en el que vamos a usar este complemento

import { Geolocation } from '@ionic-native/geolocation';

constructor(public navCtrl: NavController, public geolocation: Geolocation) {}

4. Ahora que hemos declarado nuestro complemento, podemos comenzar a usarlo, y es muy fácil de usar.

import { NavController} from 'ionic-angular';
import { Geolocation } from '@ionic-native/geolocation';

@Component({
  selector: 'page-geolocation',
  templateUrl: 'geolocation.html'
})

export class GeolocationPage {
	latitude:number ;
  	longitude:number ;
constructor(public navCtrl: NavController, public geolocation: Geolocation, 
private launchNavigator:LaunchNavigator) {}
ionViewDidLoad(){
	this.geolocation.getCurrentPosition().then(position =>{
      	this.latitude = position.coords.latitude;
      	this.longitude = position.coords.longitude;
    },error=>{
        console.log('error',error);
    });
}
}

¿Qué estamos haciendo con esto?

Estamos declarando dos variables numéricas (latitud y longitud) para almacenar la latitud y la longitud del usuario, le estamos preguntando a Ionic si se carga la vista con la función ionViewDidLoad, y en caso de que se cargue, si se ejecuta el código dentro de la función. Aquí estamos usamos el método de geolocalización getCurrentPosition () que nos proporcionará las coordenadas (coords) o la marca de tiempo de la ubicación del usuario. Así que estamos obteniendo la latitud y la longitud de las coordenadas.

Ahora veamos cómo podemos usar estas coordenadas para abrir los mapas de Google que muestran la ubicación del usuario y la distancia a un establecimiento en particular usando otro complemento de Cordova llamado launchNavigator.

5. Necesitamos instalar el complemento launchNavigator con estos comandos.

$ ionic cordova plugin add uk.co.worykingedge.phonegap.plugin.launchnavigator
$ npm install --save @ionic-native/launch-navigator

6. Y como hicimos con el plugin de geolocalización, tenemos que declararlo en nuestro archivo app.module.ts y en nuestro constructor.

import { Geolocation } from '@ionic-native/geolocation';
import { LaunchNavigator } from '@ionic-native/launch-navigator';

providers: [
    StatusBar,
    SplashScreen,
    Geolocation,
    LaunchNavigator,
    {provide: ErrorHandler, useClass: IonicErrorHandler} ]

7. También tenemos que declararlo en nuestro componente.

import { LaunchNavigator, LaunchNavigatorOptions } from 
'@ionic-native/launch-navigator';
constructor(public navCtrl: NavController, public geolocation: Geolocation,
private launchNavigator:LaunchNavigator) {}

8. Estamos listos, así que vamos a hacerlo.

navigateLocation(){
 	let options: LaunchNavigatorOptions = {
		app: this.launchNavigator.APP.GOOGLE_MAPS,
             start:[this.latitude,this.longitude]
			};
	this.launchNavigator.navigate('London, ON',options)
	.then(success =>{
		console.log(success);
	},error=>{
		console.log(error);
	})
}

Creamos una función llamada navigateLocation, en la que hacemos uso de nuestro complemento launchNavigator. En esta función estamos declarando las opciones de launchNavigator que son “app” (el nombre de la aplicación que estamos lanzando, en este caso, Google Maps) y “start” (las coordenadas del usuario que obtuvimos con el plugin de geolocalización).

Digamos que queremos navegar a Londres, entonces llamamos al método de navegación y enviamos el destino, en este caso, Londres, y las opciones de launchNavigator. Por último llamamos al método y luego consolamos el mensaje de éxito y error

9. Al final tu componente debería verse así:

import { NavController} from 'ionic-angular';
import { Geolocation } from '@ionic-native/geolocation';
import { LaunchNavigator, LaunchNavigatorOptions } from 
'@ionic-native/launch-navigator';

@Component({
  selector: 'page-geolocation',
  templateUrl: 'geolocation.html'
})

export class GeolocationPage {
	latitude:number ;
  	longitude:number ;
constructor(public navCtrl: NavController, public geolocation: Geolocation, 
private launchNavigator:LaunchNavigator) {}
ionViewDidLoad(){
	this.geolocation.getCurrentPosition().then(position =>{
      	this.latitude = position.coords.latitude;
      	this.longitude = position.coords.longitude;
    },error=>{
        console.log('error',error);
    });
}
navigateLocation(){
	let options: LaunchNavigatorOptions = {
		start:[this.latitude,this.longitude],
		app: this.launchNavigator.APP.GOOGLE_MAPS
	};
	this.launchNavigator.navigate('London, ON', options)
	.then(success =>{
		console.log(success);
	},error=>{
		console.log(error);
	})
}
}

10. Ahora, para que podamos usar esto debemos tener un botón que llame a este método.

>ion-header>
  <ion-navbar>
    <ion-title>
    	Geolocation
    </ion-title>
  </ion-navbar>
</ion-header>
<ion-content>
	
</ion-content>

Al final, tendrás algo como esto

Debido a que Ionic 3 es parte de Apache Cordova, puedes encontrar toneladas de complementos como estos en la documentación Ionic 3 https://ionicframework.com/docs/native que son muy fáciles de usar.

En ClickIT implementamos tecnologías como los complementos que Cordova brinda, para ofrecer un servicio de alta calidad a nuestros clientes.

También tenemos para ti Bootstrap 4, te recomendamos leerlo.

¿Buscas mejorar la experiencia de tu sitio web?

Maximiza su potencial con UI, UX y las mejores tecnologías.

Development Clickittech

Share
Published by
Development Clickittech

Recent Posts

AWS Precios: Como funcionan los costos en la nube de Amazon

Migrar a la nube es un paso muy importante para cualquier compañía ya que brinda…

4 años ago

Guía paso paso para un WordPress de alto rendimiento

¿Tienes problemas de carga con tu servidor? ¿El CPU alcanza el 100% de uso en…

6 años ago

Cómo redirigir HTTP HTTPS

¿Has instalado un certificado SSL pero tu sitio no redirecciona al protocolo HTTPS? Esta vez…

6 años ago

ClickIT una de las 5 Mejores Empresas de Outsourcing TI en México

ClickIT Smart Technologies se preocupa por dar un servicio excelente para ayudar a las empresas…

6 años ago

Cómo instalar Laravel en AWS EC2 de la manera correcta

¿Estás cansado de desarrollar tu aplicación de Laravel en tu servidor local? ¿Quisieras ver tu…

6 años ago

Cómo configurar PayPal con WooCommerce.

Paypal es el método de pago predeterminado en WooCommerce cuando lo instalas por primera vez,…

6 años ago