Conduce por las calles del mundo con Google Maps

Domingo, 27 de Abril de 2008

Al entrar en Phatfusion buscando algo nuevo para mootools, me encuentro con una grata sorpresa. Un divertidísimo mashup desarrollado en Flash y bajo la API de Google maps llamado Google Drive, que te permite recorrer las calles de la ciudad que te interese en un cochecito como si de un juego se tratase. No he podido evitar irme a Coruña y darme unas vueltas por mi ciudad. :) Cuidado que engancha!

Se me ocurren cantidad de aplicaciones, juegos y servicios para hacer con este mashup. Me temo que va a dar bastante juego. Y no quiero pensar en la implementación con Google Street View.

Samuel Birch, el desarrollador del proyecto, comenta en su blog que esta planeando hacer una versión en la que te permita competir en circuitos predeterminados a contrareloj y lo que es mejor, con vista de satélite!

Creando gráficas para tu web con Google Chart Api

Miércoles, 2 de Abril de 2008

Grafico de pruebaGoogle Chart Api te permite crear una gran variedad de gráficas de datos de manera dinámica. Esta api nos devuelve una imagen en formato .png , cuya URL puedes incrustar directamente en las etiquetas <img>.

La URL de la imagen debe de tener el siguiente formato:

http://chart.apis.google.com/chart? parametro_1parametro_2 parametro_n

Así con todos los parámetros que necesites, siempre separados por &. Recuerda que al poner la URL en la etiqueta <img> de tu HTML debes cambiar el & por &amp;

Los parámetros obligatorios son: el tamaño de la gráfica (chs), el tipo de gráfica (cht), y los datos (chd). El resto de los parámetros son opcionales, puedes verlos todos en la Developer’s Guide.

¿Como especificamos cada parámetro?

El tamaño de la gráfica (chs) : chs=(ancho)x(alto) donde chs indica el tipo de información que mandamos en este caso tamaño (chart size) y las unidades en pixeles. Ejemplo: chs=300×200.

El área de la imagen debe ser menor a 300,000 pixeles. Esto es, la multiplicación del ancho por el alto no debe superar esta cifra. Las gráficas circulares son recortadas si son muy pequeñas, para solucionarlo debes de poner una anchura equivalente a dos veces su altura para las gráficas en 2D, y 2 veces y medio para las de 3D.

Para los mapas el tamaño máximo 440px de ancho y 220px de alto.

El tipo de gráfica(chd): cada estilo de gráfica tiene un parámetro para referirse a ella, la gráfica de arriba es la p3 y las de abajo la bhs y lxy respectivamente. Puedes ver todos los tipos aquí.

Los datos de la gráfica(chd): deben de ser codificados de tal forma que la API de Google los entienda. Se puede hacer de varias maneras pero me voy a centrar en la mas sencilla, codificación de texto:

Solo nos permite utilizar números positivos de punto flotante de cero a cien. Dependiendo del tipo de gráfico que elijas debes pasarle los datos de una manera o de otra pero la estructura general es algo así: chd=t: 10.0,58.0,95.0 | 30.0,8.0,63.0 | ... |... donde:

chd = indica el tipo de información que mandamos, en este caso mandamos los datos para la representación de la gráfica por tanto es chd (chart data).

t = indica el tipo de codificación, en este caso codificación de texto.

10.0,58.0,95.0 = los datos de la gráfica separados por comas.

|= para separar conjuntos de datos. Si solo tienes que utilizar un conjunto de datos no lo tienes que utilizar.

Unos ejemplos para que te queda claro serían:

Para las gráficas donde debes especificar la coordenada en un ÚNICO eje, tanto X como Y, sería asi:

chd=t: x1,x2,x3,x4

Grafico de prueba

http://chart.apis.google.com/chart?chs=200×100&cht=bhs&chd=t:20,25,40,60

En este caso le decimos que el tamaño sea de 200×100 pixeles, el tipo de gráfica bhs, y los datos de la gráfica para el eje X.

Para las gráficas donde debes especificar la posición en ambas coordenadas, sería así:

chd=t: x1,x2,x3,x4 | y1,y2,y3,y4

Si quisieramos especificar mas de un conjunto de datos sería chd=t: x1,x2,x3,x4 | y1,y2,y3,y4 | xa1, xa2, xa3, xa4 |ya1, ya2, ya3, ya4 y así sucesivamente si necesitásemos mas.

Grafico de prueba

http://chart.apis.google.com/chart?&chs=200×100&cht=lxy&chd=t:0,30,60,100|60,20,40,30|10,60,100|30,60,10|13,23,45,100|90,66,22,45

En este caso le decimos que el tamaño sea de 200×100 pixeles otra vez, el tipo de gráfica lxy, y los 3 conjuntos de datos para los ejes X e Y.

Para opciones y personalización mas avanzadas; colores, rangos, etiquetas de texto, degradados, leyenda, cuadriculas, etc. tienes toda la información en la Developer’s Guide.

Espero que haya servido de algo.

Usando Google AJAX Feed API

Jueves, 27 de Marzo de 2008

Con la API Google AJAX Feed, podemos descargar cualquier feed público en RSS o Atom usando solo Javascript. Antes de empezar necesitas generar la key para usar la API, para ello solo tienes que facilitar la URL del site donde la vas a utilizar. Google AJAX Feed API

Una vez que tenemos la key ya podemos empezar a usar la API. Tienes muchas opciones para usarla, las puedes ver todas en la documentación, pero yo me centraré en lo que ellos llaman The FeedControl. Mas adelante en otro post hablaré sobre Discovering Feeds.

The FeedControl funciona usando la clase google.feeds.FeedControl de Google, puedes mandarle una lista de feeds y te devolverá sus últimas entradas. Vamos a ver el código que necesitamos:

El código que se muestra a continuación debe de ir dentro del <HEAD>

&lt;script  type="text/javascript" src="http://www.google.com/jsapi?key="AQUI-DEBES-DE-PONER-TU-KEY"&gt;&lt;/script&gt;

&lt;script type="text/javascript"&gt;

google.load("feeds", "1");

function initialize() {

var feedControl = new google.feeds.FeedControl();

feedControl.addFeed("http://www.vier0n.com/blog/feed/", "vier0n blog");

feedControl.addFeed("http://www.kekoponte.com/?feed=rss2", "Khaducsti");

feedControl.draw(document.getElementById("feedControl"));

}

google.setOnLoadCallback(initialize);

&lt;/script&gt;

Donde dice AQUI-DEBES-DE-PONER-TU-KEY , como es obvío debes de poner la key que acabas de generar.

Para indicarle los feeds que quieres descargar a la API, debes de modificar la siguiente linea.

feedControl.addFeed(”http://www.vier0n.com/blog/feed/”, “vier0n blog”);

Las primeras comillas encierran la URL del feed y las segundas el título que quieres que se muestre para dicho feed. En el código anterior aparece dos veces esta línea pero la puedes duplicar tantas veces como quieras para múltiples feeds.

El código que se muestra a continuación debe de ir dentro del <BODY>

<div id=”feedControl”>Cargando feeds…</div>

El código que genera esta API es totalmente personalizable con CSS. Puedes verla funcionando en vier0n Shares, en la columna central de la web.

BlogRoll
Enlace: Google AJAX Feed API