Mapas detallados en Google Maps
Google Maps, la aplicacion de mapas mas popular de la red, le falto implementar la opcion para mapas detallados. Imaginense que quieren un mapa detallado de todo el territorio Español con todas las ciudades e incluso nombres de calles en un mapa para imprimir tan grande como quieran. Seguro que si van buscar a Google Maps veran que no hay ninguna opcion que permita hacer esto. Pues bien aqui os ofrezco una solucion.
Este sencillo tutorial os enseñara a como podéis vosotros solos y con poco tiempo crearos un pdf tan grande como queráis de cualquier zona del mundo y detalle deseado. Bien comencemos.
Entramos en Google Maps, ya dentro escogemos el detalle necesario para nuestra nuevo mapa pdf interactivo.
Yo he escogido un detalle suficiente como para poder ver pueblos en la Marina Alta,
Le damos a la opción "Enlazar" y seguidamente escogemos la opción "Personalizar y obtener vista previa del mapa que se va a insertar"
Se nos abrirá una ventana donde veremos el mapa en si, con el detalle seleccionado, escogemos Personalizado y le damos un tamaño proporcional al papel en el cual queremos imprimir, alejamos con la rueda del ratón y centráis el mapa, y finalmente copiamos el enlace HTML que habrá al pie de la pagina.
Creamos un nuevo archivo de texto en el cual escribiremos el comienzo de una pagina HTML, ilustro un ejemplo aquí:
<html>
<head>
</head>
<body>
INSERTAMOS AQUÍ EL CÓDIGO HTML DE GOOGLE
</body>
</html>
Le damos a guardar como y escribimos con el nombre que queráis pero la extensión la cambias de .txt a .html, después buscáis el archivo y lo abrís con el navegador.
Una vez abierto veréis que esta la imagen que escogisteis con la opción enlazar esta ahí, ahora bien, el código sigue siendo interactivo por lo tanto no podéis cojer y copiar todo el mapa como si fuese una foto, pues para hacer las cosas se sabe que google utiliza pequeños recuadros PNG de 256x256 para formar el mapa entero, ahora sobre una parte blanca de vuestra pagina le dais al boton derecho y escojemos guardar como, escojeis la opción Pagina Completa y lo guardais. Os aparecerá una carpeta con el mismo nombre que le abreis dado en el que contendrá muchos archivos de con nombre "lyrs=m@195077641&hl=es&src=api&x=1026&y=801&z=11&s=Galileo"
pues bien os explico estos son recuadros en formato PNG pero sin extensión podemos verlo abriendo la consola y renombrando todos los archivos a la vez añadiéndoles .png al final, mas abajo se explica, ahora quedaros con que:
la variable x=1026 es la posición horizontal del recuadro
la variable y=801 es la posición vertical del recuadro
Para lo que quieran ver los archivos con su formato original, vamos a la consola llegamos a la carpeta donde se encuentran los archivos y les cambiamos la extensión con este comando
rename lyrs* *.png
(no cerreis la consola aun)
veréis que ahora todos vuestros archivos lyrs tienen formato .png y se pueden ver con el visualizador de windows.
Ahora que tenemos nuestros archivos png, necesitamos listar sus nombres en un fichero para mas tarde ser manipulados por nuestro programa que ordenara los ficheros y los unira. Ahora para hacer esto escribimos en la misma consola que hemos abierto:
dir /B lyrs*.png >> nombres.txt
os creara un fichero de texto en la misma carpeta donde guardasteis la pagina, ahora bien, necesitamos un programa que nos ordene los nombres de estos ficheros según x e y, para que nuestro programa que une png pueda recorrer el archivo de nombres simplemente uniéndolos Ahora bien, invito a cualquiera que quiera descargarse estos ficheros, que son los dos ficheros que se necesitan para ordenar los nombres y después unir los archivos png.
https://dl.dropbox.com/u/35730847/GoogleMapRipper.rar
despues de descargar e descomprimir nos vamos a la carpeta donde tenemos los archivos y los pegamos alli, es importante que el nombre del fichero de nombres se llame nombres.txt si no quereis modificar el programa para que coja otro nombre, lo compilais con vuestra herramienta favorita, o buscais como se hace, yo os recomiendo que utilizeis este IDE para importar los ficheros .java, compilarlos y ejecutarlos graficamente, es un IDE muy sencillito para los que solo esten comenzando en Java, de echo yo lo utilizo ;D
http://bluej.org/
Este es el ultimo paso después de compilar los 2 archivos que vienen en el .rar os ejecutáis primero el "ordenar", (repito la importancia de que el archivo de nombres se llame nombres.txt o si no cambiadlo en el programa) y después modificáis el archivo "unidor" en la linea 12 para que coincida con el tamaño final de vuestro archivo. Es decir tenéis que ver cuantos recuadros crean la parte horizontal y multiplicarlo por 256 que es el tamaño del png que lo forma. Ambos procesos son pesados por lo que no os extrañe que tarde, depende el tamaño de la imagen que queréis crear.
Al final os saldrá un png con nombre result.png, que sera vuestro archivo final.
Cualquier duda o sugerencia comentad.
Yo he escogido un detalle suficiente como para poder ver pueblos en la Marina Alta,
Le damos a la opción "Enlazar" y seguidamente escogemos la opción "Personalizar y obtener vista previa del mapa que se va a insertar"
Se nos abrirá una ventana donde veremos el mapa en si, con el detalle seleccionado, escogemos Personalizado y le damos un tamaño proporcional al papel en el cual queremos imprimir, alejamos con la rueda del ratón y centráis el mapa, y finalmente copiamos el enlace HTML que habrá al pie de la pagina.
Creamos un nuevo archivo de texto en el cual escribiremos el comienzo de una pagina HTML, ilustro un ejemplo aquí:
<html>
<head>
</head>
<body>
INSERTAMOS AQUÍ EL CÓDIGO HTML DE GOOGLE
</body>
</html>
Le damos a guardar como y escribimos con el nombre que queráis pero la extensión la cambias de .txt a .html, después buscáis el archivo y lo abrís con el navegador.
Una vez abierto veréis que esta la imagen que escogisteis con la opción enlazar esta ahí, ahora bien, el código sigue siendo interactivo por lo tanto no podéis cojer y copiar todo el mapa como si fuese una foto, pues para hacer las cosas se sabe que google utiliza pequeños recuadros PNG de 256x256 para formar el mapa entero, ahora sobre una parte blanca de vuestra pagina le dais al boton derecho y escojemos guardar como, escojeis la opción Pagina Completa y lo guardais. Os aparecerá una carpeta con el mismo nombre que le abreis dado en el que contendrá muchos archivos de con nombre "lyrs=m@195077641&hl=es&src=api&x=1026&y=801&z=11&s=Galileo"
pues bien os explico estos son recuadros en formato PNG pero sin extensión podemos verlo abriendo la consola y renombrando todos los archivos a la vez añadiéndoles .png al final, mas abajo se explica, ahora quedaros con que:
la variable x=1026 es la posición horizontal del recuadro
la variable y=801 es la posición vertical del recuadro
Para lo que quieran ver los archivos con su formato original, vamos a la consola llegamos a la carpeta donde se encuentran los archivos y les cambiamos la extensión con este comando
rename lyrs* *.png
(no cerreis la consola aun)
veréis que ahora todos vuestros archivos lyrs tienen formato .png y se pueden ver con el visualizador de windows.
Ahora que tenemos nuestros archivos png, necesitamos listar sus nombres en un fichero para mas tarde ser manipulados por nuestro programa que ordenara los ficheros y los unira. Ahora para hacer esto escribimos en la misma consola que hemos abierto:
dir /B lyrs*.png >> nombres.txt
os creara un fichero de texto en la misma carpeta donde guardasteis la pagina, ahora bien, necesitamos un programa que nos ordene los nombres de estos ficheros según x e y, para que nuestro programa que une png pueda recorrer el archivo de nombres simplemente uniéndolos Ahora bien, invito a cualquiera que quiera descargarse estos ficheros, que son los dos ficheros que se necesitan para ordenar los nombres y después unir los archivos png.
https://dl.dropbox.com/u/35730847/GoogleMapRipper.rar
despues de descargar e descomprimir nos vamos a la carpeta donde tenemos los archivos y los pegamos alli, es importante que el nombre del fichero de nombres se llame nombres.txt si no quereis modificar el programa para que coja otro nombre, lo compilais con vuestra herramienta favorita, o buscais como se hace, yo os recomiendo que utilizeis este IDE para importar los ficheros .java, compilarlos y ejecutarlos graficamente, es un IDE muy sencillito para los que solo esten comenzando en Java, de echo yo lo utilizo ;D
http://bluej.org/
Este es el ultimo paso después de compilar los 2 archivos que vienen en el .rar os ejecutáis primero el "ordenar", (repito la importancia de que el archivo de nombres se llame nombres.txt o si no cambiadlo en el programa) y después modificáis el archivo "unidor" en la linea 12 para que coincida con el tamaño final de vuestro archivo. Es decir tenéis que ver cuantos recuadros crean la parte horizontal y multiplicarlo por 256 que es el tamaño del png que lo forma. Ambos procesos son pesados por lo que no os extrañe que tarde, depende el tamaño de la imagen que queréis crear.
Al final os saldrá un png con nombre result.png, que sera vuestro archivo final.
Cualquier duda o sugerencia comentad.
tienes algún vídeo que explique todo esto??
ResponderEliminar