Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/12/2012, 13:13
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: google map v3, 3 maps on same page

He tardado un poco pero creo que ha merecido la pena.

Te decía para crear tres archivos. No obstante, he optado por hacerlo todo en uno (todo dentro una única función window.onload = function () ) como lo estabas planteando.

Dado que era difícil controlar en qué punto estaba cada marcador (y en cada mapa había una coordenada de centrado y otra de posición del marcador), he optado por construir a mi estilo los tres mapas.

Verás que hay diferencias de código. Dejo a tu cargo el modificar lo que quieras.

Por otra parte, no he visto la ventana del tercer mapa, así que he puesto un texto aleatorio. (Y por las dudas, comprueba latitud y longitud de los puntos).
Ahí va el código completo:

Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1" />
  6.     <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
  7.     <title>Tres mapas</title>
  8.     <link rel="shortcut icon" type="image/ico" href="http://www.digitaleando.com/imag/logo.ico" />
  9.     <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&amp;language=es"></script>
  10.     <script type="text/javascript">
  11.     window.onload = function () {
  12.       var latLng = new google.maps.LatLng(36.50856685143835, -4.866085052490234);
  13.       var opciones = {
  14.         center: latLng,
  15.         zoom: 13,
  16.         mapTypeId: google.maps.MapTypeId.ROADMAP
  17.       };
  18.       var map = new google.maps.Map(document.getElementById("map_canvas"), opciones);
  19.       var marker = new google.maps.Marker({
  20.         position: latLng,
  21.         map: map
  22.       });
  23.       var contenido = '<div style="width:240px">Banana Beach, several 2 and 3 bedrooms, beach front apartments in a beautiful complex, sleeps 4-6 persons <a href="banana_beach_beachfront_apartment_marbella.htm">Link<\/a><\/div>';
  24.       var infowindow = new google.maps.InfoWindow({
  25.         content: contenido,
  26.         maxWidth: 320
  27.       });
  28.       google.maps.event.addListener(marker, 'click', function () {
  29.         infowindow.open(map, marker);
  30.       });
  31.      
  32.       // Segundo mapa    
  33.       var latLng2 = new google.maps.LatLng(36.488661268293136, -4.986934661865234);
  34.       var opciones = {
  35.         center: latLng2,
  36.         zoom: 13,
  37.         mapTypeId: google.maps.MapTypeId.ROADMAP
  38.       };
  39.       var map2 = new google.maps.Map(document.getElementById("map_canvas2"), opciones);
  40.       var marker2 = new google.maps.Marker({
  41.         position: latLng2,
  42.         map: map2
  43.       });
  44.       var contenido2 = '<div style="width:240px">Dama de Noche, apartments 2, 3 and 4 bedrooms, near Puerto Banus and beach, sleeps 4-8 <a href="dama_de_noche_puerto_banus.htm">Link<\/a><\/div>';
  45.       var infowindow2 = new google.maps.InfoWindow({
  46.         content: contenido2,
  47.         maxWidth: 320
  48.       });
  49.       google.maps.event.addListener(marker2, 'click', function () {
  50.         infowindow2.open(map2, marker2);
  51.       });
  52.       // Tercer mapa     
  53.       var latLng3 = new google.maps.LatLng(36.502530170146976, -4.951658248901367);
  54.       var opciones = {
  55.         center: latLng3,
  56.         zoom: 13,
  57.         mapTypeId: google.maps.MapTypeId.ROADMAP
  58.       };
  59.       var map3 = new google.maps.Map(document.getElementById("map_canvas3"), opciones);
  60.       var marker3 = new google.maps.Marker({
  61.         position: latLng3,
  62.         map: map3
  63.       });
  64.       var contenido3 = '<div style="width:240px">El contenido de tu tercera ventana<a href="#">Link<\/a><\/div>';
  65.       var infowindow3 = new google.maps.InfoWindow({
  66.         content: contenido3,
  67.         maxWidth: 320
  68.       });
  69.       google.maps.event.addListener(marker3, 'click', function () {
  70.         infowindow3.open(map3, marker3);
  71.       });
  72.     }
  73.     </script>
  74.   </head>
  75.   <body><div id="map_canvas" style="width: 580px; height: 400px"></div>
  76.  <div id="map_canvas2" style="width: 580px; height: 400px"></div>
  77.  <div id="map_canvas3" style="width: 580px; height: 400px"></div>
  78.   </body>
  79. </html>​