DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
16-04-2014

En este artículo veremos cómo marcar (mostrar los Drawables) un sitio a través de Puntos de Interés (POI); en otras palabras reconocer una zona por su posicionamiento geográfico a través de los llamados Puntos de Interés (POI) en vez de utilizar el Reconocimiento de Imágenes.

Pero, ¿qué es un POI o Punto de Interés?

Un POI no es más que una ubicación o punto en específico; básicamente es un lugar interesante un Punto de Interés catalogado por alguien; los mapas y GPS contienen muchos de estos puntos llamados POI.

Los POIs en Wikitude son manejados por una clase llamada GeoLocation, la cual representa una localización en la tierra en su espacio 3D; como podrás imaginarte, esta recibe tres parametros:

Parámetros de la clase GeoLocation

El tercer componente hace posible ubicar un POI en el espacio 3D.

Ejemplo de la clase GeoLocation

var location3D = new AR.GeoLocation(47.77317, 13.069929, 320.0); // latitude, longitude, altitude
var location2D = new AR.GeoLocation(47.77317, 13.069929); // latitude, longitude

Ya sabemos como crear un Punto de Interés o POI en Wikitude, ahora debemos de crear el objeto Drawable para marcar el sitio; recordando los artículos pasados; esto no es más que el contenido que se desea mostrar cuando ocurra el reconocimiento ya sea mediante el Reconocimiento de Imágenes o por la localización (nuestro caso) a través de los POI:

htmlDrawable = new AR.HtmlDrawable({uri:"pagina.html"}, 1);

Ya tenemos el Punto de Interés POI y el contenido a mostrar. ¿Qué ente se encarga de localizar y analizar la zona en donde se encuentra el usuario y de esta forma mostrar los recursos establecidos en el Drawable (si y sólo si el usuario se encuentra dentro de un POI)?; en otras palabras; ¿cómo mostramos los Drawable según la posición del usuario?.

La clase GeoObject

Este clase permite especificar al menos un POI (objetos de la clase GeoLocation) o localización y los recursos Drawable a mostrar:

Parámetros de la clase GeoLocation

Ejemplo del objeto GeoLocation, Drawable y GeoObject

var location3D = new AR.GeoLocation(47.77317, 13.069929, 320.0); // latitude, longitude, altitude
//recurso Drawable
htmlDrawable = new AR.HtmlDrawable({uri:"pagina.html"}, 1);
//construimos el objeto GeoLocation
var geoObject  = new AR.GeoLocation(location3D,htmlDrawable); // POI -GeoLocation-, opciones

Resumen

Podemos resumir lo visto hasta el momento de la siguiente manera:

Conclusiones

El uso de los POI es algo que se agradece cuando otras tecnologías como el Reconocimiento de Imágenes falla o no se desea utilizar por diversos motivos; cuenta con mayor precisión que el Reconocimiento de Imágenes (ya que es Geográfico y no hay margen de error); sin embargo, podemos utilizar ambas tecnologías (POIs y Reconocimiento de Imágenes) de manera conjunta como veremos en próximos artículos.

Enlaces de Interés


Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

Creando increibles Drawer en Android con MaterialDrawer

Creando increibles Drawer en Android con MaterialDrawer

Generador de launcher para Android sin padding

Generador de launcher para Android sin padding

Templates para Android y iOS

Templates para Android y iOS

Algunos artículos que te pueden interesar

Desarrollando aplicaciones de Realidad aumentada con Wikitude (parte 1)

Desarrollando aplicaciones de Realidad aumentada con Wikitude (parte 1)

En esta primera entrega veremos como configurar nuestro proyecto Android para comenzar a utilizar esta librería de realidad aumentada, para esto utilizaremos eclipse y el plugin ADT.

Andrés Cruz 26-09-2013

Usar la consola de salida en Eclipse System.out.println y Log

Usar la consola de salida en Eclipse System.out.println y Log

La API de Android incorpora la clase Log para desplegar distinto tipos de información.

Andrés Cruz 13-02-2014

Realidad Aumentada con Wikitude

Realidad Aumentada con Wikitude

Wikitude es una SDK gratuita que permite la creación de aplicaciones de realidad aumentada con Android y IOS utilizando tecnologías web (HTML, javaScript,CSS) o código nativo y cuenta con características como soporte a geolocalización y reconocimiento de

Andrés Cruz 13-03-2017