Por Manuel J. García
Técnico de Innovación en Solusoft
El Carnaval ya está aquí y, con él, el confeti, el jolgorio y, sobre todo, los disfraces ¿A que dan ganas de compartir con todo el mundo el colorido y el espectáculo? Para poder hacerlo nace
Carnavalea, la nueva aplicación para móviles Android con la que ningún disfraz volverá a quedar en el anonimato
¿Cómo? Es muy simple: una foto con el móvil, un breve comentario y listo para compartir. En cuanto se sube a Carnavalea, el disfraz aparece en un mapa señalando el lugar donde ha sido avistado, así todo el mundo que tengas cerca podrá verlo. Pero, ¿cómo se creó?
Carnavalea se ha desarrollado utilizando
topoos, una novedosa plataforma de Servicios Basados en Localización. Desde ella se realiza el almacenamiento de las publicaciones, para lo que se utilizan los servicios de
Puntos de Interés y categorías, así como
topoos PIC para almacenar las imágenes y obtener los thumbnails en los tamaños apropiados para teléfonos móviles.
Aquí es donde la aplicación móvil se integra con
ArcGISOnline, ya que cada Punto de Interés registrado en topoos se enlaza con un nuevo feature creado en el Features Service de ArcGIS Online.
Crear y preparar este servicio en ArcGIS Online fue una tarea realmente simple. Tan solo es necesario acceder a nuestro contenido a través del panel y crear un nuevo Feature Service a partir de un fichero csv, donde se define la estructura de las entidades que va a almacenar. En el caso de Carnavalea basta con registrar el identificador de la imagen generado por topoos PIC, un texto descriptivo y la fecha.
Para evitar aumentar innecesariamente el tamaño de la aplicación incluyendo el SDK de ArcGIS completo, decidimos atacar directamente el API Rest de la plataforma, ahorrando bastante espacio en el dispositivo y habilitándonos para realizar esta transferencia del modo más eficiente posible.
Ya solo faltaba crear la pieza web que nos permitiera mostrar al mundo los disfraces que los usuarios registran desde su dispositivo. Agregar el Features Service a un mapa en el panel de control habría sido lo más sencillo, ya que no requería ningún desarrollo, pero la opción de clusterizar los features parecía la más apropiada. Así sería mucho más fácil ver las regiones más activas y se evitaría que hubiera demasiados marcadores en el mapa.
Para seguir esta vía teníamos que pegarnos un poco con el API JavaScript, pero afortunadamente contábamos con un ejemplo prácticamente idéntico a lo que queríamos hacer:
Point Clustering, que sólo hubo que adaptar para obtener los puntos en el orden que queríamos empleando el API Rest del servicio en lugar de un recurso estático.
El resultado, después de un gran trabajo de diseño, lo podéis ver aquí
http://carnavalea.azurewebsites.net, donde es posible obtener el código del mapa para embeberlo en otros sitios web e incluso consultar el código fuente de la aplicación Carnavalea.