Obtener la ubicación del usuario en GEE / Automatically Taking User Location in GEE UIs

Obtener la ubicación del usuario en GEE / Automatically Taking User Location in GEE UIs

Obtener la ubicación actual del usuario es sencillo en Google Maps pero en Google Earth Engine es ¿posible?. La respuesta es , GEE tiene una funcion llamada ui.util.getCurrentPosition que permite obtener la posición geográfica actual del usuario del servicio de geolocalización del navegador. En este sentido, en esta entrada vamos a aprender a:

  • Implementar la funcion ui.util.getCurrentPosition en nuestro Script
  • Mandar a llamar la ubicación actual con botones y,
  • Poner imagen al botón

Estos tres puntos se pueden lograr de dos maneras, escribiendo todo el código o bien usando las funciones internas de VICAL.

i) Escribiendo todo el código en nuestro Script

1) Lo primero que tenemos que hacer es crear dos funciones, el primero para identificar la ubicación del usuario (current_position) y el segundo de Error

// función de Ubicación actual
function current_position(point) {
  Map.addLayer(point);
  Map.centerObject(point, 12);
  print(point);
}
//Función de Error
function Error(error) {
  print(error);
}

2) Ahora creamos un Button donde le agregamos la función en la propiedad onClick

var ImgButton = ui.Button({ //boton para ubicación del usuario
  label: 'Get Current Position',
  onClick: function(){ui.util.getCurrentPosition(current_position,Error)}
});

3) Agregamos el Button al Map

Map.add(ImgButton)

Y el resultado es:

Captura.PNG

ii) Usando VICAL

1) Para usar VICAL primero tenemos que importar dos archivos a nuestro script:

// archivo para las funciones generales de VICAL
var imp = require('users/InifapCenidRaspa/VICAL:Exportaciones');
var St= require('users/InifapCenidRaspa/VICAL:Style');

2) Usamos ui.util.getCurrentPosition para obtener la ubicación de usuario y le asignamos las funciones current_position y Error que están en el archivo imp de VICAL.

Además, como queremos que al dar clic a un botón nos centre en la ubicación actual del usuario, le asignamos la función ui.util.getCurrentPosition a la propiedad onClick del Button.

Se vera mejor si le ponemos un icono al Button ¿no?, para ello usamos la funcion IconName que esta en el archivo St de VICAL, para indicar cual icono queremos usar solo basta con ingresar el nombre, si desea mas información, puede consultar esta entrada.

var ImgButton = ui.Button({ //boton para ubicación del usuario
  label: 'Get Current Position',
  imageUrl: St.IconName('my_location'),
  onClick: function(){ui.util.getCurrentPosition(imp.current_position,imp.Error)}
});

3) Ahora, solo basta con agregar el Button al Map, y cada ves que demos clic al Button se acercara a nuestra ubicación actual.

Map.add(ImgButton)

IconName.PNG

Déjanos tus comentarios.

Did you find this article valuable?

Support SERGIO IVÁN JIMÉNEZ JIMÉNEZ by becoming a sponsor. Any amount is appreciated!