Mostrando las entradas con la etiqueta Maps. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Maps. Mostrar todas las entradas

jueves, 7 de junio de 2012

Comenzando con OpenStreetMap



He tenido por fin el tiempo para crear una entrada donde exploremos de forma muy rápida la forma en la que podemos crear un mapa utilizando OpenStreetMap y OpenLayers.

¿Por qué utilizar OpenStreetMap?, simplemente porque Google quiere cobrarle a las empresas que monten en su sitio web un mapa que vean mucho los usuarios, por esa sencilla situación he decidido investigar cómo es que funciona OpenStreetMap.

Para poder comenzar tendremos que descargar la librería que nos ayudará a controlar nuestro mapa de OpenStreetMap en la página openlayers.org.  Ahí encontraremos una liga para descargar la librería.

Una vez descargado el zip, vamos a descomprimirlo y en un sitio web nuevo creado con Visual Studio vamos a agregar los siguientes archivos y carpetas:

- build\OpenLayers.zip
- theme
- img

OpenLayers.js deberá quedar ubicado en la raíz.

Vamos a agregar una página HTML (MyMap.htm) donde agregaremos referencia al script de OpenLayers:

<script language="javascript" type="text/javascript" src="OpenLayers.js"></script>

Ahora agregamos un elemento DIV que nos permita dibujar el mapa sobre él:

<div style="width: 800px; height: 600px;" id="myMap"></div>

¡Comenzamos con la magia de OpenLayers!.  Creamos una instancia del objeto OpenLayers.Map pasándole como parámetro el identificador del objeto donde queremos que cargue el mapa (myMap), le agregamos una capa que esté conectada con OpenStreetMap y centramos el mapa en México con un zoom de 5.    Finalmente agregamos un control que nos permite rastrear las coordenadas donde está ubicado el mouse en el mapa y listo:

<script language="javascript" type="text/javascript">
    var map = new OpenLayers.Map('myMap'); //Identificador del elemento DIV
    map.addLayer(new OpenLayers.Layer.OSM()); //OpenStreetMap
    map.setCenter(new OpenLayers.LonLat(-11437415.414775, 2727283.1688355), 5);
    map.addControl(new OpenLayers.Control.MousePosition());
</script>

Una excelente referencia de cómo conocer cada uno de los objetos que tiene OpenLayers es la página de la documentación de la API y también en esta página tenemos una guía sencilla.

En las entradas siguientes de OpenStreetMap y OpenLayers iremos avanzando poco a poco en la exploración de estas herramientas.

Espero te haya sido de utilidad.

lunes, 9 de abril de 2012

OpenStreetMap



Pues hoy me entero de la ruptura entre Wikipedia y Google Maps dado el cambio en la política de uso de Google donde establece una cantidad máxima de peticiones hechas desde una página web, en caso de que la página supere este límite Google cobrará una lana para seguir dando el servicio.

Sucede que Wikipedia es la sexta página más visitada del mundo (dato extraído de alexa.com) y es evidente que la cantidad de visitas que tienen los mapas es enorme.

¿Qué es OpenStreetMap?, es un mapa mundial que permite la edición por parte de sus usuarios, algo muy parecido a Wikipedia pero orientado hacia los mapas.

Siendo sincero, intenté editar un mapa y en menos de 2 minutos terminé hecho bolas con puntos donde no quería y al final cerré sin guardar cambios.    Pero bueno, creo que eso se corrige leyendo bien los tutoriales que da la página para la edición de su contenido.

¿Me gustó? mmm podría decir que sí, pero creo que los mapas aún están muy pobres y esto supongo que se debe a la poca afluencia o número de usuarios que ha tenido el sitio (en México) por lo que lo único que nos queda hacer es echarle la mano y completar los mapas para que sean tan exactos y precisos como nos lo permita el conocimiento de nuestra ciudad.

Espero pronto puedan liberar una API en javascript para agregar marcadores en los mapas y así poder dar por sustituído a Google Maps y repartir este pastel entre más jugadores.    Y bueno, no es que esté 100% en contra de Google, sólo que también debe haber más participación por otros proveedores o páginas para que la competencia sea mucho más reñida y así nosotros tengamos servicios de mayor calidad y menor precio.

Y tú, ¿ya contribuíste con OpenStreetMap?, te invito a que modifiques el mapa de la zona por donde vives y así generemos mapas muy precisos de la ciudad que habitamos.

--Actualización 17:13

Hace unos minutos recibí una respuesta por parte de la cuenta @openstreetmapes donde me hicieron saber que existen dos librerías javascript que permiten operar los marcadores que se colocan en un mapa de OpenStreetMap: Leaflet y OpenLayers.

Mil gracias por la respuesta a @openstreetmapes y pues con todo gusto a participar en tan interesante proyecto.

En la siguiente entrada publicaré un ejercicio donde se ocupe un mapa de OpenStreetMap y también se agreguen marcas en tiempos de ejecución utililizando la librería javascript que me recomendaron tan amablemente.