Introducción práctica a Google Mapplets

Siguiendo mi premisa “de lo que no se pueda aprender entonces es inútil y prescindible” tuve el deseo este fin de semana de escribir una introducción a Google Mapplets con que he jugado un poco en el último par de meses.

Fruto de ese deseo surgió la Introducción práctica a Google Mapplets la cual introduce los conceptos básicos del servicio y lleva de la mano al desarrollador a través de la implementación de una demostración simple que ejemplifica de manera sencilla los conceptos expuestos y parte del API del servicio.

El lector deberá estar familiarizado con el desarrollo de software en general, la utilización de JavaScript y XML.

Introducción al desarrollo de Mapplets.

 

● Que son los Mapplets.
● Ventajas y desventajas frente a Google Maps.
● Diferencias importantes con el API de Google Maps.
● Requerimientos para el desarrollo.
● Como es un Mapplet (estructura).
● Herramientas para el desarrollo.
● Acceso a Mis Mapas y al Directorio de Mapas.
● Como desarrollar Mapplets.
● Plantilla base de un Mapplet.
● Enlaces de interés.

Desarrollo de Mi Primer Mapplet.

 

● Plantilla base de un Mapplet.
● Desarrollo e implementación de MiPrimerMapplet.
● Publicación de Mapplets con Google Pages.
● Agregar el Mapplet a Mis Mapas.
● Compartir el acceso a los Mapplets desarrollados.
● Enlaces de interés.

El ejemplo práctico de esta presentación puede consultarse en el siguiente enlace.

http://maps.google.com/ig/add?synd=mpl&pid=mpl&moduleurl=http://demo.jorgeivanmeza.com/GMaps/MiPrimerMapplet/ultimo/MiPrimerMapplet.xml

Mientras que el código fuente del mismo ejemplo puede consultarse a través de este enlace.

http://demo.jorgeivanmeza.com/GMaps/MiPrimerMapplet/ultimo/MiPrimerMapplet.xml

Enlaces:

Mapplet demo: Distritos Mineros 0.1

El día de hoy he desarrollado un primer demo muy sencillo basado en un Mapplet que presenta los municipios Colombianos que pertenecen a Distritos Mineros e incluye alguna información adicional al respecto.

Este primer bosquejo es muy limitado ya que su información se obtiene de manera estática desde una fuente XML y que esta no se encuentra georreferenciada, por esto hace uso del GeoCoder el cual, al menos para esta prueba, no en todos los casos funciona de manera consistente.

El tiempo de desarrollo de un ejercicio tan sencillo es de unos 30 minutos, sin embargo el cambio a funciones asíncronas que se hizo para pasar de Google Maps a Mapplets si aumentó la complejidad del diseño, el cual me tomó finalizar en mas tiempo de lo esperado.

Las funciones asíncronas, a diferencia de las síncronas que retornan con el resultado después de ser ejecutadas, retornan inmediatamente y contínua el flujo normal del programa, sin embargo su resultado aún no ha sido terminado de procesar. Cuando la función asíncrona ha completado la realización de su código, ejecuta una función cuya implementación es definida por el usuario y se utiliza para procesar su resultado, esta función se especifica a manera de callback.

Palabras mas, palabras menos, las funciones asíncronas (*Async) en los Mapplets se ejecutan cuando se espera pero no es predecible determinar cuando estas terminan su procesamiento y se obtiene un resultado. La complejidad de la demostración se aumentó debido a la utilización del GeoCoder cuya ejecución (getLatLngAsync) es asíncrona y se realizaba múltiples veces (una por cada registro), sin embargo estas se realizan después de obtener la fuente remota con los datos (_IG_FetchXmlContent), la cual también es una función asíncrona.

En conclusión, el desarrollo de este tipo de Mapplets es extremadamente sencillo y rápido, sin embargo se recomienda que los datos ya lleguen georreferenciados, es decir, parecería ser mejor preprocesar la información del lado del servidor y geolocalizarla antes de enviarla al Mapplet que buscar su complemento desde el mismo código del mapa.

Enlaces: