Si lees este blog con frecuencia, probablemente ya habrás probado el API de Google Maps ¡y te gustará tanto como a nosotros! Sin embargo, es probable que, en ciertos casos, no te resulte útil: el API de Google Maps necesita JavaScript, puede tardar en cargarse con conexiones lentas, y requiere un esfuerzo adicional para mantener una página web dinámica.




Si lees este blog con frecuencia, probablemente ya habrás probado el API de Google Maps ¡y te gustará tanto como a nosotros! Sin embargo, es probable que, en ciertos casos, no te resulte útil: el API de Google Maps necesita JavaScript, puede tardar en cargarse con conexiones lentas, y requiere un esfuerzo adicional para mantener una página web dinámica.


El API de mapas estáticos de Google ofrece una forma más sencilla de añadir mapas a tu sitio web. En lugar de utilizar JavaScript, el API de mapas estáticos crea imágenes de mapas sobre la marcha mediante sencillas llamadas al servicio de mapas estáticos con llamadas HTTP. Sin JavaScript ni recargas. Simplemente hay que crear una URL especial como el atributo src dentro de una etiqueta img y dejar que el servicio de mapas estáticos cree la imagen.


Para ver lo fácil de utilizar que es el API de mapas estáticos, fíjate en la siguiente imagen:




Esta imagen se ha creado utilizando la siguiente etiqueta img:


<img src="http://maps.google.com/staticmap?center=40.450147553355905,-3.6927366256713867&zoom=12&size=512x512&key=MAPS_API_KEY">

(Recuerda que tendrás que sustituir el parámetro key anterior con tu clave del API de Maps. Puedes obtener una clave gratis en http://code.google.com/apis/maps/signup.html)


Cuando tu navegador ha mostrado este blog, la URL en la etiqueta img se envió al servicio de mapas estáticos, que construyó una imagen basada en los parámetros de la URL. ¡Y ya está! Puedes crear un mapa de hasta 512 x 512 píxeles, y con cualquier nivel de zoom que muestre cualquier lugar de la faz de la tierra, siempre que lo soporte Google Maps. ¡Incluso puedes poner marcadores en tus mapas! Con el asistente para mapas estáticos te permite probar las diferentes opciones.


El API de mapas estáticos resulta especialmente útil para páginas en las que quieres incluir un mapa que se cargue rápidamente. Incluso puedes sustituir el mapa estático que generes con un mapa que utilice el API de Maps con JavaScript cuando la página se cargue, lo que te permitirá una transición fluida de un mapa que se carga rápidamente a una implementación totalmente dinámica.


Como el mapa que genera el API de mapas estáticos es una imagen, también la puedes enviar a tus amigos por email como un archivo adjunto (¡súper útil para planificar tu próxima fiesta!) o mostrarlo en cualquier navegador móvil, soporte o no soporte JavaScript.


Toda a documentación sobre cómo construir mapas con el API de mapas estáticos está disponible en:


http://code.google.com/apis/maps/documentation/staticmaps/index.html

Como siempre, si tenéis preguntas o feedback, no dudéis en hacérnoslo llegar.

Alvar López de Pedro y Rebecca Steelman

Ser programador es un "deporte" muy exigente... No sólo necesitas acabar las cosas a tiempo y sin errores, sino que probablemente querrás llegar al mayor número posible de usuarios para que puedan sacar partido a tu aplicación o negocio; ¿no te sientes más realizado/a cuando alguien puede beneficiarse de tu trabajo?

Alvar López de Pedro y Rebecca Steelman

Ser programador es un "deporte" muy exigente... No sólo necesitas acabar las cosas a tiempo y sin errores, sino que probablemente querrás llegar al mayor número posible de usuarios para que puedan sacar partido a tu aplicación o negocio; ¿no te sientes más realizado/a cuando alguien puede beneficiarse de tu trabajo?


Tampoco es ninguna novedad que hacer un sitio web es probablemente la manera más efectiva de compartir lo que tienes que ofrecer con el mundo, y una de las formas de llegar a tu audiencia es mediante los motores de búsqueda. Entonces, ¿cómo puedes asegurarte de que la mayoría de tus páginas sean descubiertas por los motores de búsqueda? ¿Son adecuadas las descripciones de tus páginas? ¿Cómo restringir el acceso de los buscadores a las páginas que queramos?


Desde el Equipo de Calidad de Búsqueda de Google, hoy queremos recordaros que si durante la creación de una página web os surgen preguntas como esta, Google pone a vuestra disposición un centro gratuito con información y herramientas: el Centro para webmasters. Aquí podréis encontrar el enlace a nuestras Herramientas para webmasters, que incluyen estadísticas y diagnóstico de problemas sobre vuestro sitio web, además de herramientas para incluir un Sitemap y más. También podréis encontrar nuestro Centro de Asistencia para webmasters, que contiene artículos de temas tan variados como cómo hacer tu sitio más amigable para Google o cómo trabajar con contenido para móviles. Éste es un buen punto de partida cuando tengáis una duda relacionada con la manera en que Google rastrea e indexa vuestro sitio.


Si tuvierais cualquier pregunta sobre las herramientas, quisierais aclaraciones en cuanto a un artículo del Centro de Asistencia, o simplemente os surgiera alguna duda sobre cómo funcionan las búsquedas orgánicas, podéis escribir un mensaje en nuestro Foro para webmasters en español. El principal objetivo del foro es crear un espacio donde webmasters puedan compartir sus dudas y dar consejos sobre una variedad de temas relacionados con las búsquedas y la indexación en Google, así como con las Herramientas para webmasters. Entre la comunidad de webmasters se encuentran dos empleados de Google (los mismos autores de este artículo) que moderan el grupo y, ocasionalmente, hacen clarificaciones o informan de temas de interés general. Algunos de estos temas son:


  • Cómo conseguir indexar un sitio, y qué pasos seguir para tener el máximo contenido posible indexado.
  • Qué es un spam report y cuándo es necesario denunciar sitios fraudulentos.
  • Consejos sobre cómo poner en práctica las directrices para webmasters.
  • Cómo usar y entender las Herramientas para webmasters para seguir el rendimiento de tu sitio


Aunque el Foro para webmasters es un gran lugar para hacer vuestras preguntas, también queremos animar a aquellos que tengáis muchos conocimientos sobre la web a que os unáis y compartáis vuestros conocimientos con todos. Esperamos veros pronto con todo tipo de preguntas y consejos.




Hace poco Google present
ó un API para crear gráficos y hablamos de ello en este blog. Esta nueva API hace muy sencillo a los desarrolladores incluir gr



Hace poco Google present
ó un API para crear gráficos y hablamos de ello en este blog. Esta nueva API hace muy sencillo a los desarrolladores incluir gráficos en sus aplicaciones.

U
n tipo de gráfico muy interesante en aplicaciones que requieran mostrar datos visualmente son las sparklines. Estos gráficos fueron definidos por Edward Tufte como pequeños gráficos, intensos en datos y simples en diseño. Su uso en aplicaciones web ha ido en aumento, especialmente en cuadros de mando o aplicaciones que requieran mostrar la evolución de varias variables al mismo tiempo.

U
n ejemplo de aplicación que hace muy buen uso de estos gráficos es Google Analytics. En el dashboard de Analytics se puede consultar de un vistazo la evolución de un conjunto de variables gracias al uso de sparklines.

Captura de pantalla de Google Analytics, donde se muestran cuatro sparklines:



Por el momento la API no dispone de un tipo de gr
áfico específico para crear sparklines pero aún así podemos usar un pequeño truco para crearlas.


El truco consiste en definir un gráfico de tipo línea (cht=lc), añadirle los ejes X e Y (chxt=x,y) y luego utilizar el parámetro de estilo para los ejes para esconderlos. El parámetro de estilo de los ejes (chxs) nos permite definir el color, el tipo de letra y la alineación. Si al último parámetro de chxs le asignamos el valor "_" indicamos a la API que no dibuje las líneas de los ejes. Además para que funcione correctamente debemos darle un valor de "1" al tamaño de texto de los ejes X e Y.


Aquí tenéis un ejemplo de sparkline sencilla (podéis consultar la url mirando el src de la imagen):


Este es un ejemplo de sparkline.


Otro ejemplo más intenso en datos, incluyendo un área de referencia con un color de fondo y marcando valores concretos:


Este es un ejemplo de sparkline más complejo.


Un último ejemplo, sparklines al estilo Google Analytics:


Este es un ejemplo de sparkline al estilo de Google Analytics.


Para terminar, recomendaros una herramienta para jugar un poco con la API y que además incluye sparklines: Google Charting Tool.

Javier Arias

El compromiso de Google por el software libre no es algo nuevo: prácticamente todos los días Google utiliza, parchea y libera sofware libre. Nuestro objetivo es mostrar cómo una empresa, del tamaño que sea, puede interactuar con la comunidad de programadores open source. Aunque en un primer momento, este compromiso se limitaba al mero cumplimiento de licencias, lo cierto es que en tres años ha evolucionado y se ha extendido considerablemente.

Javier Arias

El compromiso de Google por el software libre no es algo nuevo: prácticamente todos los días Google utiliza, parchea y libera sofware libre. Nuestro objetivo es mostrar cómo una empresa, del tamaño que sea, puede interactuar con la comunidad de programadores open source. Aunque en un primer momento, este compromiso se limitaba al mero cumplimiento de licencias, lo cierto es que en tres años ha evolucionado y se ha extendido considerablemente.


Como probablemente sabéis, hoy en día, las actividades de Google en esta materia tienen tres vertientes. Por un lado, Google ha liberado, literalmente, millones de líneas de código y más de cien proyectos en los últimos tres años. Asimismo, Google aloja más de 80.000 proyectos open source en la página de código de Google y ofrece control de versiones, wikis, alojamiento de descargas y otras herramientas útiles. Estos proyectos son de todo tipo, desde proyectos de dos personas hasta proyectos con equipos de más de treinta personas, y van desde librerías javascript a los propios proyectos de Google, pasando por gadgets, cursos de informática, etc.

Por último, como mencionaba José Florido anteriormente, Google también se ha propuesto expandir la comunidad de programadores open source a través de programas como el de prácticas remuneradas, el Google Summer of Code (estad atentos los interesados, porque el periodo de inscripciones se abrirá próximamente), y su primo pequeño el GHOP, cuyos ganadores se anunciaron recientemente.

Hasta ahora, todas estas iniciativas se iban anunciando desde la página de código de Google y a través del blog genérico y otros blogs en distintos idiomas como este. No obstante, las iniciativas de software libre han crecido tanto que finalmente se ha decidido crear un blog específico para las actividades de Google relacionadas con el software libre. Hoy os presentamos este nuevo blog, y esperamos que lo disfrutéis.



Con una herramienta como el API de Google Maps uno tiene la oportunidad de poner sobre un mapa o imagen satélite cualquier dato que pueda geoposicionarse. Esta API ayuda a organizar la información de manera geográfica, un paso más en el objetivo de Google de organizar la información mundial. Pero en lo que respecta a nosotros, los desarrolladores, tenemos tres modelos a la hora de usar esta API ...


Con una herramienta como el API de Google Maps uno tiene la oportunidad de poner sobre un mapa o imagen satélite cualquier dato que pueda geoposicionarse. Esta API ayuda a organizar la información de manera geográfica, un paso más en el objetivo de Google de organizar la información mundial. Pero en lo que respecta a nosotros, los desarrolladores, tenemos tres modelos a la hora de usar esta API:

Usar información ya existente: La primera opción es usar una base de datos de elementos geoposicionados (o que tengan una dirección física), por ejemplo, anuncios inmobiliarios tomados de otras web. Esta opción es relativamente sencilla de hacer ahora que muchos sitios web tienen RSS o APIs y permiten su uso a terceros. Además, desde el primer día, el mash-up se podrá utilizar porque tendrá datos. Sin embargo, el reto en este caso es conseguir una interfaz revolucionaria que suponga una mejora sustancial respecto a la interfaz de la fuente original de los datos. Esa interfaz solo se podrá conseguir si existen escenarios de uso donde la visualización en un mapa sea una ventaja clara respecto a una interacción tradicional textual, y no solo un complemento. Una variante más avanzada de este modelo que le añade valor es integrar fuentes de datos no tan fáciles de conseguir creando un buen motor de indexación de terceras partes.

Generar información posicionada: Esta opción trata de geoposicionar información que hasta ahora no había sido geoposicionada y típicamente a través de las contribuciones de los usuarios, por ejemplo, lo que hace Panoramio, la gente sube sus fotos y las geoposiciona. Es una opción más compleja porque no solo supone crear un mash-up y un buen sistema de visualización de esa información, sino también una comunidad de usuarios que genere la suficiente actividad. No solo tiene un punto crítico sino dos, arrancar la comunidad y generar una buena interfaz, pero en conjunto tiene mucho más valor porque ofrece información geoposicionada que es única y no está disponible en otras fuentes.

Modelo mixto: Por último se puede ir a un sistema combinado donde se extraen datos de terceras partes automáticamente y a partir de ahí se intenta generar comunidad, por ejemplo, permitiendo a los usuarios comentar esos datos. Este modelo contiene datos desde el primer día y la web no aparece vacía inicialmente como una comunidad, lo que es una ventaja. Por contra pienso que es complicado que la gente se motive a comentar y valorar contenidos "fríos" extraídos de una base de datos y no de un humano, pero si se hace bien puede conseguirse, de hecho hay varios proyectos que lo consiguen como Geonames.org.

Mi favorito, por supuesto, es el segundo modelo, el que seguimos en Panoramio. ¿Qué modelo preferís vosotros? Creo que puede haber un debate interesante en los comentarios.

Clara Rivera

Como probablemente sabréis, los mapplets son gadgets que los usuarios pueden cargar en Google Maps y que acceden al mapa principal compartido. Son, como si dijéramos, capas de información ajenas a Google Maps que los usuarios pueden superponer en los mapas de Google para geoposicionar la información que más les interese, ya sean ...
Clara Rivera

Como probablemente sabréis, los mapplets son gadgets que los usuarios pueden cargar en Google Maps y que acceden al mapa principal compartido. Son, como si dijéramos, capas de información ajenas a Google Maps que los usuarios pueden superponer en los mapas de Google para geoposicionar la información que más les interese, ya sean hoteles y hacer una reserva, estadios de fútbol o viviendas. Para los programadores que desarrollan con el API de Google Maps, los mapplets suponen mayores posibilidades de exposición, puesto que pueden hacer llegar su contenido georeferenciado a todos los usuarios de Google Maps a través del directorio de mapplets. Y todo con un tiempo de desarrollo de aproximadamente 60 minutos. Interesante, ¿no? Pues vamos a ver cómo convertir un mashup de Google Maps en un mapplet.

1. Convertir HTML en XML (de los gadgets de Google)

Un gadget de Google consiste simplemente en etiquetas JavaScript, HTML y CSS contenidas en un documento XML. Para convertir un sitio que utiliza el API de Maps en un mapplet:

  • Sustituye las etiquetas HTML/HEAD/BODY con el XML que define un gadget de Google. La raíz se llama , y permite que todo el JavaScript/CSS/HTML esté ahora dentro de la etiqueta .
  • Ordena el JavaScript, HTML, y CSS con cuidado dentro de la etiqueta . El orden que suele dar menos problemas es: primero las etiquetas , después HTML, y por último

Brad Fitzpatrick

Si alguno de vosotros ya ha desarrollado una aplicación social sabrá lo frustrante que resulta el que, cuando los usuarios se registran para empezar a utilizarla, todavía no tienen contactos en la aplicación. Están solos y no pueden interactuar con sus amigos, lo que supone una mala experiencia. Algunas aplicaciones ofrecen la posibilidad de que los usuarios busquen amigos entre la base de usuarios de la aplicación, o de que intenten importar la lista de contactos de su correo electrónico. Pero cuando los contactos de los usuarios provienen de otras aplicaciones sociales, muchas veces ni siquiera tienen el correo electrónico de las personas con las que interactúan. Entonces, ¿qué puede hacer un programador?
Brad Fitzpatrick

Si alguno de vosotros ya ha desarrollado una aplicación social sabrá lo frustrante que resulta el que, cuando los usuarios se registran para empezar a utilizarla, todavía no tienen contactos en la aplicación. Están solos y no pueden interactuar con sus amigos, lo que supone una mala experiencia. Algunas aplicaciones ofrecen la posibilidad de que los usuarios busquen amigos entre la base de usuarios de la aplicación, o de que intenten importar la lista de contactos de su correo electrónico. Pero cuando los contactos de los usuarios provienen de otras aplicaciones sociales, muchas veces ni siquiera tienen el correo electrónico de las personas con las que interactúan. Entonces, ¿qué puede hacer un programador?

Una opción es la nueva Social Graph API, que hace accesible y útil la información sobre conexiones públicas de personas en Internet. Así, los programadores pueden facilitar a los usuarios la importación de conexiones sociales a un nuevo sitio web y, de este modo, hacer que inviertan menos tiempo en reconstruir sus redes sociales y más en coger cariño a la nueva aplicación.

¿Y cómo funciona? Pues bien, funciona mediante el rastreo de la Red en busca de relaciones públicas entre cuentas de personas, al igual que Google rastrea la Web para dar con enlaces entre páginas. Sin embargo, en lugar de devolver enlaces a documentos HTML, el API devuelve estructuras de datos JSON que representan las relaciones descubiertas a partir de marcadores XFN y FOAF. Cuando un usuario se registra en tu aplicación, puedes utilizar el API para recordarle de quién ha dicho ser amigo en otros sitios web y preguntarle si también quiere ser su amigo en el tuyo.

Si queréis saber más, tenéis información en la página del API, y también tenéis demos. Como siempre, esperamos vuestro feedback.

Eduardo Manchón

Uno de mis ejemplos favoritos de uso del API de Google Maps es Wikiloc, un sitio web para compartir rutas, como por ejemplo, esta ruta de senderismo en un volcán islandés ...
Eduardo Manchón

Uno de mis ejemplos favoritos de uso del API de Google Maps es Wikiloc, un sitio web para compartir rutas, como por ejemplo, esta ruta de senderismo en un volcán islandés, aunque también hay rutas en bicicleta, quad y hasta marítimas. Este proyecto me gusta especialmente porque en mi opinión es uno de los que mejor exprime las funcionalidades de la API de Google Maps. Por esta razón me he decidido a hacerle unas preguntas a su creador Jordi L. Ramot y he resumido algunas de sus respuestas más interesantes. Espero que sean de utilizad para los mash-uperos que andaís por ahí.



Me comenta Jordi que Wikiloc esta próximo a alcanzar las 9.000 rutas enviadas y aunque es un proyecto internacional traducido a 8 idiomas por voluntarios de su comunidad de usuarios, la gran mayoría de las rutas están localizadas en España. De hecho lo he probado y hay rutas casi en cualquier lugar de la geografía peninsular.

Wikiloc utiliza el API de Google Maps con tecnologías como la que permite superponer mapas diferentes (haciendo clic sobre "otros mapas" en una ruta), algo que tiene mucho sentido ahora que de los servicios de GIS gubernamentales están liberando estos mapas. Además Wikiloc utiliza diferentes técnicas de geometría computacional para mostrar información geográfica pesada de forma eficiente. Entre otras funcionalidades en la página de ruta puedes recibir las indicaciones para llegar por carretera al punto inicial de la ruta y te indica la línea de código que tienes que usar para mostrar una ruta con su mapa en tu propio sitio web.

Wikiloc utiliza el geocodificador inverso de Geonames.org para indicar la localización de la ruta y el API de Panoramio para ilustrar las rutas con las fotos cercanas. Ver las fotos de Panoramio resulta muy útil para hacerse una idea de cómo es realmente la ruta y es curioso ver como en la mayor parte de los casos las fotos de Panoramio caen justo en la ruta trazada en Wikiloc. Saber por donde hace más fotos la gente en una ruta te permite descubrir los puntos más interesantes a lo largo del camino.

El archivo KML para Google Earth de Wikiloc está optimizado con la tecnología de regionalización para hacerlo más ágil. Igualmente la implementación de la interfaz de la infowindow del KML me gusta especialmente porque te muestra de un vistazo la información más
relevante de la ruta, incluso el perfil de subidas y bajadas.



Me comenta Jordi que en los últimos 4 meses ha hecho muchas mejoras en el diseño, especialmente de usabilidad. Ahora se puede navegar rápidamente por el mundo y el mapa de Wikiloc actualiza dinámicamente las rutas del panel izquierdo al moverte por el mapa. Nosotros también lo hacemos en el mapa de Panoramio y creo que es un punto positivo. La mayoría de mash-ups no actualizan el contenido del panel de contenido al navegar por el mapa lo que resulta confuso. Por cierto, tras estas mejoras Wikiloc ha cuatriplicado su tráfico.

Por último, Wikiloc utiliza el programa Adsense para financiarse. La idea de Jordi es mantener Wikiloc gratuito y aunque Jordi me comenta que con el volumen de tráfico actual, Adsense aún no le da para mucho más que pagar los gastos de su servidor dedicado, la curva de crecimiento de los ingresos le hace tener buenas expectativas para un futuro próximo.