Este documento presenta una discusión sobre las API de Google Maps y Google Earth. Cubre temas como las opciones básicas de Google Maps API, capas KML, capas personalizadas, Google MyMaps API, Google Earth API, generación estática vs dinámica de contenido georeferenciado, opciones para almacenar contenido geográfico, y el uso de Google Maps/Earth API con Google App Engine.
1. Google Earth / Maps API
Vicente Ordóñez
21 de Marzo del 2009
2. Temas a discusión
• Google Maps API
• Opciones básicas
• Capas KML
• Capas Personalizadas
• Google MyMaps API
• Usar MyMaps y utilizar el API de MyMaps
• Google Earth API
• Integración rápida con Google Maps
• KML Avanzado!
• Generación estática de contenido referenciado
Ventajas y Desventajas
•
• Generación dinámica de contenido georeferenciado
Ventajas y Desventajas
•
• Opciones para almacenar contenido geográfico
Sistemas Comerciales
•
Sistemas Opensource
•
• Google/Earth API + Google App Engine!
Demo
•
3. Google Maps API – Opciones básicas
• Agregar/Quitar
controles de
navegación
• Enfocar la vista en una
región basándose en
latitud/longitud
• Agregar/Quitar Tipos
de Mapas (Map Types)
predeterminados
(Normal, Satélite,
Híbrida, Terreno)
• Agregar/Quitar
Sobrecapas (Overlays)
(Wikipedia, Panoramio,
Streetview)
4. KML – Keyhole Markup Language
• Documento XML con
contenidos
georeferenciados
• Definir contenido
georeferenciado
usando latitud y
longitud
• Definir líneas en
función de puntos de
control
• Definir formas
geométricas
(polígonos) en función
de puntos de control
5. Capas y sobrecapas personalizadas
• Insertar mi contenido
geográfico en mi
aplicación Google
Maps
• Capas de datos usando
KML! (Fácil)
• Mapas usando
sobrecapas de tipo
imágen. (Fácil)
• Creando un nuevo
maptype dividiendo
imágenes en pedazos
más simples.
(Laborioso)
6. Usando Google MyMaps
• Para crear la bitácora
georeferenciada de un
viaje.
• Para crear un mapa
con los lugares que
quisiera visitar.
• Para mostrar las rutas
posibles acerca de
como llegar de un lugar
a otro.
• Para marcar áreas
protegidas en una zona
forestal
7. Usando Google MyMaps API
• Agregar la
funcionalidad de
Google MyMaps a mi
aplicación hecha con
Google Maps API
• Permitir a usuarios
contribuir con
contenidos
georeferenciados
• El objetivo es ir más
allá de simplemente
replicar la funcionalidad
de Google MyMaps en
mi sitio
8. Google Earth API
• Me expande las
posibilidades de
Google Maps a una
dimensión más (3D)
• Es necesario instalar
un plugin
• Agregar la
funcionalidad de
Earth a Google Maps
API toma una sola
línea de código
map.addMapType(G_SATELLITE_3D_MAP)
9. Google Earth API - DEMOS
• http://code.google.com/apis/earth/documentation/demogallery.html
10. KML Avanzado
• Definir vista de cámara,
posición de la cámara,
punto de enfoque de la
cámara.
• Es posible insertar
modelos 3D usando
KML
• Es posible animar
objetos 3D usando KML.
Introducción de la
variable tiempo.
• Es posible definir
recorridos en 3D.
Touring!
11. Generación estática de contenido
• Ventajas
• Simple
• Portable
• Fácil de ser indexado
• No requiere mayor habilidad
• Desventajas
• Difícil de mantener
• Conflictos de escritura
• Archivos de gran tamaño
• No es dinámico!
12. Generación dinámica de contenido
• Ventajas
• Almacenamiento más eficiente
• Posibilidad de hacer consultas dinámicas
• No conflictos de escritura
• Desventajas
• Implementarlo requiere de mayores habilidades
• Más difícil de indexar el contenido georeferenciado
• Necesidades mayores por parte del alojamiento web (bases de datos
especializadas)
13. Opciones para almacenar contenido geográfico
• Sistemas Comerciales
• Oracle Db
• Microsoft SQL Server
• Map Point
• ESRI ArcServer
• Sistemas OpenSource
• PostgreSQL / Postgis
• Quantum GIS
• Geo Server
Google App Engine (Bigtable !)
14. Google Maps/Earth API + Google App Engine
• Ventajas
• Solución altamente escalable!
• El esquema de la base de datos es libre
• Soporte nativo para el tipo de dato GeoPt
• Desventajas
• No tiene soporte nativo para GIS (se requiere programación de
sistemas GIS de bajo nivel)
• Requiere adoptar una nueva manera de pensar en los datos
(Bigtable)
DEMO
http://alertavista.appspot.com
http://geodatastore.appspot.com/
http://code.google.com/p/geodatastore/
15. Temas Pendientes
• Embeber mapas estáticos
• Embeber panoramas Streetview
• Utilizar las funcionalidades de direcciones de tránsito
• Utilizar la búsqueda localizada
17. REFERENCIAS
• Google Maps API Developer’s Guide (
http://code.google.com/apis/maps/documentation/index.html )
• KML Developer’s Guide (
http://code.google.com/apis/kml/documentation/topicsinkml.html)
•MyMaps Editing API, Keith Golden. Google I/O, Mayo 2008,
San Francisco, CA (
http://sites.google.com/site/io/my-maps-editing-api )
• Hosting your GeoData, an Overview of Design Options,
Mano Marks. Google I/O, Mayo 2008, San Francisco, CA (
http://sites.google.com/site/io/hosting-your-geo-data-an-overview-of-design-op
)