Buenas,
por la lista de correo de OpenStreetMap en Español acabo de ver este artículo, La respuesta de OpenStreetMap al desastre de Haití. A raíz del terremoto se pidió colaboración a las diferentes listas de todo el mundo para mapear la isla. En el artículo podéis ver el antes y el después, así como unas comparativas con Google Maps que, como algunos sabéis, fuera de las zonas "de negocio" tampoco se luce mucho que digamos.
Aquí podemos verlo en real ahora:
#map_1 {padding: 0; margin: 0;}
/* <![CDATA[ */jQuery(document).ready(function($) { map = new OpenLayers.Map ("map_1", { controls:[ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoom(), new OpenLayers.Control.Attribution() ], maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxResolution: 156543.0399, numZoomLevels: 19, units: "m", projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326") } );var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");var layerTah = new OpenLayers.Layer.OSM.Osmarender("Osmarender");var layerCycle = new OpenLayers.Layer.OSM.CycleMap("CycleMap");map.addLayers([layerMapnik, layerTah, layerCycle]);map.addControl(new OpenLayers.Control.LayerSwitcher()); function osm_getTileURL(bounds) { var res = this.map.getResolution(); var x = Math.round((bounds.left – this.maxExtent.left) / (res * this.tileSize.w)); var y = Math.round((this.maxExtent.top – bounds.top) / (res * this.tileSize.h)); var z = this.map.getZoom(); var limit = Math.pow(2, z); if (y = limit) { return OpenLayers.Util.getImagesLocation() + «404.png»; } else { x = ((x % limit) + limit) % limit; return this.url + z + «/» + x + «/» + y + «.» + this.type; } }var lonLat = new OpenLayers.LonLat(-72.3422,18.5453).transform(map.displayProjection, map.projection);map.setCenter (lonLat,13);});/* ]]> */
Un trabajo para quitarse el sombrero.
Saludos,
Colegota