Sanjuu, el Blog Rotating Header Image

Creando un directorio con el API de Google Maps

El API de Google Maps nos permite infinidad de posibilidades para construir nuestros propios mapas e incrustarlos en nuestra web o blog. Sólo se requieren ciertos conocimientos de codificación en JavaScript y estar familiarizado con la Programación Orientada a Objetos. El uso de este API es totalmente gratuito y lo único que requieren es un registro de una clave de API para poder usarla.

Una de las posibilidades más genericas, sencillas y útiles puede ser la creación de un directorio que muestre comercios, locales, restaurantes, bares, teatros, cines... en una determinada ciudad y los localice en el mapa. Dicho directorio constaría de 2 ficheros, un html para el mapa y un xml con la información de los locales:

El fichero HTML es el que genera el mapa mediante JavaScript

HTML:
  1. <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1">
  2. <title>Ejemplo de Google Maps API</title>
  3. <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key={AQUI TU API KEY DE GMAPS}&sensor=false"
  4.             type="text/javascript"></script>
  5. <script type="text/javascript">
  6. //<![CDATA[
  7.    
  8.     var cm_mapMarkers = [];
  9.     var cm_mapHTMLS = [];
  10.     var map;
  11.    
  12.     function cm_markerClicked(markerNum) {
  13.         cm_mapMarkers[markerNum].openInfoWindowHtml(cm_mapHTMLS[markerNum]);
  14.         //SI QUEREMOS CENTRAR EL MAPA EN EL PUNTO EN EL CUAL HACEMOS CLICK DESCOMENTAMOS LA SIGUIENTE LINEA
  15.         //map.setCenter(cm_mapMarkers[markerNum].getLatLng(), 12);
  16.     }
  17.  
  18.  
  19.     function cm_createMarker(punto,nombre,html) {
  20.         var markerOpts = {};       
  21.         markerOpts = {
  22.             "clickable": true,
  23.             "labelText": nombre
  24.         };
  25.       var newPoint = punto;
  26.       var marker = new GMarker(newPoint, markerOpts);
  27.         GEvent.addListener(marker, "click", function() {
  28.             marker.openInfoWindowHtml(html);
  29.            
  30.         });
  31.         return marker;
  32.     }
  33.  
  34.  
  35.  
  36.     function load(){
  37.           map = new GMap2(document.getElementById("map"));   
  38.           map.setCenter(new GLatLng(37.173452, -3.600104), 12);   
  39.           map.addControl(new GLargeMapControl());
  40.         
  41.          GDownloadUrl("markers.xml", function(data){
  42.             var xml = GXml.parse(data);
  43.             var markers = xml.documentElement.getElementsByTagName("marker");
  44.             var divR = document.getElementById("marcas");
  45.             var marcas = new Array(markers.length);
  46.             for (var i = 0; i <markers.length; i++){
  47.                 var name = markers[i].getAttribute("nombre");
  48.                 var address = markers[i].getAttribute("direccion");
  49.                 var city = markers[i].getAttribute("localidad");
  50.                 var html = "<b>" + name + "</b><br/>" + address + "<br/>" + city;
  51.                 var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
  52.                                       parseFloat(markers[i].getAttribute("lng")));
  53.                                       
  54.                 var marker = new cm_createMarker(latlng,name,html); //, {icon: newIcon});   
  55.                 map.addOverlay(marker);
  56.                 cm_mapMarkers.push(marker);
  57.                 cm_mapHTMLS.push(html);
  58.                
  59.                 var markerA = document.createElement("a");
  60.                 markerA.setAttribute("href","javascript:cm_markerClicked('" + i +"')");
  61.                 var sidebarText= name;
  62.                 markerA.appendChild(document.createTextNode(sidebarText));
  63.                 divR.appendChild(markerA);
  64.                 divR.appendChild(document.createElement("br"));   
  65.             }
  66.         });   
  67.    }
  68. //]]>
  69. </script>
  70. </head>
  71. <body onload="load()" onunload="GUnload()">
  72. <div id="map" style="float:left;border: 1px black solid; width: 700px; height: 500px"></div>
  73. <div id="marcas" style="margin-left:720px;text-align:left"><b>Lista de Locales</b>:<br></div>
  74.  
  75. </body>
  76. </html>

El siguiente fichero XML (markers.xml) guarda la información de los puntos a representar en el mapa, hay que respetar la estructura.

XML:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2.  
  3. <markers>
  4.     <marker nombre="Sugarpop" direccion="Gran Capitán 25" localidad="18002, Granada" lat="37.1774" lng="-3.60538"/>
  5.     <marker nombre="Sala El Tren" direccion="Ctra. Antigüa de Málaga s/n" localidad="18015, Granada" lat="37.190859" lng="-3.635616"/>
  6.     <marker nombre="Booga Club" direccion="C/ Santa Bárbara, 3" localidad="18001, Granada" lat="37.182939" lng="-3.603344"/>
  7.     <marker nombre="Los Nogales" direccion="Camino Puente Palo s/n" localidad="181894, Granada" lat="37.148603" lng="-3.633707"/>
  8.     <marker nombre="Planta Baja" direccion="C/ Horno Abad 11" localidad="18002, Granada" lat="37.176400" lng="-3.604213"/>
  9.     <marker nombre="Organ Jazz" direccion="Carretera de Sierra Nevada 100" localidad="18190, Cenes de la Vega" lat="37.1584" lng="-3.5359"/>
  10.     <marker nombre="La Telonera" direccion="C/ Londres" localidad="18100, Armilla" lat="37.148" lng="-3.62272"/>
  11.     <marker nombre="Pub Warhol" direccion="C/ San José, 69" localidad="18650, Dúrcal" lat="36.9921" lng="-3.57021"/>
  12.     <marker nombre="Sala Who" direccion="C/ Dr. Guirao Gea" localidad="18012, Granada" lat="37.186401" lng="-3.604975"/>
  13. </markers>

Finalmente aquí tenemos el resultado. Como se puede ver con pocas líneas de código se consiguen cosas bastante interesantes. Guiándonos con la referencia completa del API y con un poco de imaginación será muy fácil conseguir lo que queramos.

Comparte esta entrada:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Live
  • Yahoo! Bookmarks
  • Digg
  • Tumblr
  • del.icio.us
  • Technorati
  • LinkedIn
  • email
  • RSS
  • Print

Festival de la Guitarra de Córdoba 09

Se confirma la edición de este año del Festival de la Guitarra de Córdoba. Será la edición número 29, en su mayoría orientada al Flamenco, aunque no solo Flamenco se verá en Córdoba entre el 1 y el 11 de julio. El cartel va desde Manolo Sanlucar o Diego "el Cigala" junto a Tomatito hasta John Mayall, John Fogerty (líder de Creedence Clearwater Revival), Al di Meola, David Russell o The Pretenders.

Una cita obligada para todo amante de la música de cualquier estilo.
Toda la información: www.guitarracordoba.com

Comparte esta entrada:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Live
  • Yahoo! Bookmarks
  • Digg
  • Tumblr
  • del.icio.us
  • Technorati
  • LinkedIn
  • email
  • RSS
  • Print

II Festival AGM – Juventud

Mañana habrá una fiesta de la música, la segunda anual que la Asociación de Grupos de Música de Granada, en colaboración con la Concejalía de Juventud del Ayuntamiento de Granada organiza. Más de ocho horas de música de grupos granadinos, entrada gratuita (puedes conseguir una invitación en www.agmgranada.com) y precios populares, ¿alguien da más? Como diría Diego: ¡Riega la Maceta!

Comparte esta entrada:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Live
  • Yahoo! Bookmarks
  • Digg
  • Tumblr
  • del.icio.us
  • Technorati
  • LinkedIn
  • email
  • RSS
  • Print

Senderismo: Sierra de Otiñar

A muy pocos kilómetros de la capital jienense se esconden miles de rincones y parajes privilegiados. Entre ellos está la Sierra de Otiñar. Las sierras y cumbres altas se alzan antagonistas a los valles que el río Quiebrajano ha ido excavando a lo largo de los años, en donde se levanta el pequeño pueblo abandonado de Otiñar. Un paisaje entre grandes desniveles de agrestes montañas y plácidos y tranquilos valles.

Mapa de Ruta (formato KMZ para Google Earth)

Vistas desde el Castillo de Otiñar

Castillo de Otiñar

Valle de Otiñar desde el Castillo

Monolito de Carlos III

Carretera al Embalse desde el Dolmen funerario

Salida del Tunel

Senda

Subida al Castillo

Subida al Castillo de Otiñar

Torre del Castillo de Otiñar

Torre del Castillo de Otiñar

Castillo de Otiñar

Cañon cerca del Castillo de Otiñar

Embalse del Quiebrajano

Comparte esta entrada:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Live
  • Yahoo! Bookmarks
  • Digg
  • Tumblr
  • del.icio.us
  • Technorati
  • LinkedIn
  • email
  • RSS
  • Print

Improvisan C – Jam Standards

Improvisan C (Improvisan DO) es un proyecto personal, un trabajo de investigación en los estándares del jazz y del blues con algún toque latino y/o funky o un intento de todas y cada una de las cosas anteriores.

Este proyecto surgió a raíz de diferentes jam sessions y el inicio en la exploración (como músico) de nuevos estilos. Grabado de forma casera es una aproximación a un nuevo horizonte musical, sin ninguna pretensión más allá de experimentar, explorar, improvisar y disfrutar con la música.

Puede descargarse vía Jamendo en este enlace:
http://www.jamendo.com/es/album/40871

Próximamente estará la segunda entrega de este proyecto.

Comparte esta entrada:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Live
  • Yahoo! Bookmarks
  • Digg
  • Tumblr
  • del.icio.us
  • Technorati
  • LinkedIn
  • email
  • RSS
  • Print