Contenidos geolocalizados en Google Fusion Tables

Una de las particularidades más interesantes de las Fusion Tables de google es su capacidad de partida de almacenar información geolocalizada. Esto se consigue sencillamente introduciendo un campo de tipo “Location” en la tabla Fusion Table que estemos utilizando.

Desde el inicio estas tablas aceptan en consecuencia búsquedas por localización, tal y como lo explica su documentación aquí y más en profundidad aquí.

La clase FusionTable que hemos elaborado para simplificar el intercambio de datos con este servicio contiene ya métodos que aprovechan estas capacidades de geolocalización.

Búsquedas geolocalizadas

Así, para realizar una búsqueda de contenidos localizados a una distancia inferior a un radio determinado, podremos escribir:

  // Tenemos una FusionTable ft ...
 
  String respuesta = ft.selectGeoCircle("CAMPO_RESULTADO", "CAMPO_LOCATION", gps.currentLatitude, gps.currentLongitude, DISTANCIA_METROS);
 
  if (respuesta != null) {
    String[] lineas = split(respuesta, "\n");
    println(lineas);
  }

El método selectGeoCircle es el encargado de enviar la búsqueda a la tabla. Requiere como argumentos: - el campo (o campos) de la tabla que queremos obtener como resultado de la búsqueda - el nombre del campo que contiene en la tabla la información geográfica - un número (float) para la latitud - un número (float) para la longitud - un número (float) para el radio en metros

Introducción de datos geolocalizados

Un campo de Fusion Tables de tipo Location acepta directamente pares de números decimales (float) separados por una coma como entrada de coordenadas.

Así, podemos escribir:

// Tenemos una FusionTable ft ...
ft.insert("(Text,Location)","('test','"+gps.currentLatitude+","+gps.currentLongitude+"')");