Archive for the 'yahoo' Category

Hackeando a Yahoo Maps

En mi pais la unica fuente de imagenes satelitales disponible es google maps o yahoo maps y me interesa tener mas mapas satelitales de mi pais para cargar las imagenes en mi pda para hacer bicimontaña.

Como recordaran ya obtube las imagenes satelitales de google como explico en mi post anterior hackeando a google maps lo que me motivo ha realizar lo mismo pero con yahoo maps y resulto mas facil de lo que pensaba pues en menos de 1 hora tenia la imagen descargada a alta resolución.

les cuento que es lo que hice para obtener los cuadros de las imagenes satelitales y luego unirlos en una gran imagen:

mi primer y unico tropieso fue cuando vi que el cliente oficial de yahoo fue creado en base a flash, el cual es un cliente cerrado, sin codigo fuente, a diferencia del cliente web google el cual fue creado con ajax. Por lo que descarte sacar la informacion atraves del cliente flash.

lo segundo que hice fue ver las apis de yahoo, tal ves ahi encuentro alguna pista de como estaba construido yahoo maps, para proceder a mi objetivo “descargar los cuadros satelitales y luego unirlos en una gran imagen”

comence a ver los vinculos que ahi muestran y uno de ellos me llamo la atencion “Yahoo! Maps AJAX API ” y me dije “que bien apis para ver las imagenes desde ajax” y al ver este ejemplo de esa pagina que muestran como mostrar yahoo maps con un cliente ajax y dar click derecho sobre la imagen y decile a firefox que me muestre la imagen llegue a la ruta donde estaba un cuadro que formaba la imagen satelital siguiente:

http://us.maps3.yimg.com/aerial.maps.yimg.com/tile?v=1.7&t=a&x=5241&y=3718&z=3

al ver los parametros de la pagina se puede ver claramente que cada cuadro satelital tiene una coordena (x,y) y al cambiar estos valores la imagen cambia y con este descubrimiento ya lo habia conseguido mi objetivo de desifrar como funciona yahoo maps.

lo siguente ya fue mas facil pues cree un programa que llame a la url anterior la imagen satelital que me muestra la guarde en mi disco duro y todo esto en 2 for anidados cambiando las coordenadas (x,y) y me resulto este programa:

Con mi Programa “yahoo maps downloader” creado en C# logre descargar en pocos minutos las imagenes que necesitaba y luego que tenia las imagenes cree un procedimiento que las una todos los cuadros descargados en una gran imagen satelital de mi ciudad.

Este programa no lo pienso distribuirlo libremente ni comercializarlo ya que no quiero problemas legales con yahoo pero les dejo los pasos que hice por si alguno de uds quiere hacer su propio “yahoo maps downloader”

para los interesados en programar lo que yo hice les dejo un fragmento de mi codigo en C# para la descarga de las imagenes:

 

 

string urlbase = “http://us.maps3.yimg.com/aerial.maps.yimg.com/tile?v=1.7&t=a”;
System.Net.WebClient c = new System.Net.WebClient();
for (int j = yini; j >= yend; j–){
for (int i = xini; i <= xend; i++){
string uri=urlbase+”&x=” + i.ToString() + “&y=” + j.ToString() + “&z=” + txtzoom.Text;

c.DownloadFile(uri , directorio + @”downloadtile_” + i.ToString()+”_”+j.ToString() + “.jpg”);
}
}



Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 43 seguidores