Foros del Web » Programando para Internet » Javascript »

Abrir infoWindow en Google Maps

Estas en el tema de Abrir infoWindow en Google Maps en el foro de Javascript en Foros del Web. Hola a todos! A ver si me pudieseis orientar con Google Maps que hace algún tiempo que no lo toco. Tengo mi código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 11/06/2013, 05:05
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Pregunta Abrir infoWindow en Google Maps

Hola a todos!

A ver si me pudieseis orientar con Google Maps que hace algún tiempo que no lo toco.

Tengo mi código:

Código Javascript:
Ver original
  1. var opciones = {};
  2.     opciones = {
  3.         zoom: 16,
  4.         center: mapita,
  5.         mapTypeId: google.maps.MapTypeId.SATELLITE
  6.     };
  7.     // DIV DONDE SE VA A CREAR EL MAPA Y SE CREA EL MAPA
  8.         var div = document.getElementById('mapa_contenedor');
  9.         var map = new google.maps.Map(div,opciones);        
  10.     // SE GENERA EL MARCADOR Y SE PONE EN EL MAPA
  11.     var marcador = new google.maps.Marker({
  12.         position: mapita,
  13.         map: map,
  14.         draggable:false,
  15.         animation: google.maps.Animation.BOUNCE,
  16.         title: 'Nos encontramos aquí'        
  17.     });
  18.  var infowindow = new google.maps.InfoWindow({content: contenido});  
  19.     bounds.extend(mapita);
  20.     map.setCenter(marcador.getPosition());
  21.  
  22. //esto es por si cierran que puedan volver a abrirlo.
  23.  google.maps.event.addListener(marcador, 'click', function(){
  24.        infowindow.open(map, marcador);
  25.        marcador.setAnimation(null);
  26.     });  
  27.    google.maps.event.addListener(infowindow,'closeclick',function(){
  28.         marcador.setAnimation(google.maps.Animation.BOUNCE);
  29.     });

El mapa se me muestra bien y todo eso, pero...cómo podría hacer para que el infowindow esté abierto de primera hora? Porque no recuerdo cómo se ponía y no doy con la tecla con la info que encuentro:part ido:.

Gracias por la ayuda!
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 27/06/2013, 13:19
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Abrir infoWindow en Google Maps

hola, yo tengo problemas tambien

Hace mucho tiempo trabaje con esta API y no recuerdo que haya sido tan engorroso poner el globo de informacion de un marcador...:/


Mi problema es que no he encontrado como abrir mi contenido (como una imagen y una descripcion) en un "globo" de informacion como el sale normalmente al dar clic en algun marcador del mapa.

Para poder abrir algo con mi propio contenido tuve que bajar un archivo aparte (infobox.js) que me da chance de personalizar el div donde se abre la informacion del marcador.

Pero lo que quisiera es hacerlo en el "globo" normal que usa google maps.

De todos modos te dejo mi codigo, que al menos si funciona bien, sale el globo de informacion de primera hora como dices, y al cerrarlo lo puedes abrir al dar clic al marcador, espero te funcione.

Si alguien conoce una forma mas facil y sin tener que agregar archivos aparte, se los agradeceria.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     var myLatlng = new google.maps.LatLng(#,-#);
  3.     var marker;
  4.     var map;
  5.     var image = '../images_icon/tip.png';
  6.    
  7.     function initialize(){  
  8.         var mapOptions = {
  9.             zoom: 15,
  10.             center: myLatlng,
  11.             mapTypeId: google.maps.MapTypeId.ROADMAP
  12.         };
  13.         map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  14.        
  15.         var marker = new google.maps.Marker({      
  16.             map: map,
  17.             draggable: false,
  18.             animation: google.maps.Animation.DROP,  
  19.             position: myLatlng,
  20.             icon: image,
  21.             title: "Hello World!"  
  22.         });
  23.        
  24.         var boxText = document.createElement("div");
  25.         boxText.style.cssText = "border: 1px solid black; margin-top: 8px; background: white; padding: 5px;";
  26.         boxText.innerHTML = "Direccion imagen";
  27.        
  28.         var myOptions = {
  29.             content: boxText,
  30.             disableAutoPan: false,
  31.             maxWidth: 0,
  32.             pixelOffset: new google.maps.Size(-140, 0),
  33.             zIndex: null,
  34.             boxStyle: {
  35.                 //background: "url('tipbox.gif') no-repeat",
  36.                 opacity: 0.75,
  37.                 width: "280px"
  38.             },
  39.             closeBoxMargin: "10px 2px 2px 2px",
  40.             closeBoxURL: "../images_icon/cancel.png",
  41.             infoBoxClearance: new google.maps.Size(1, 1),
  42.             isHidden: false,
  43.             pane: "floatPane",
  44.             enableEventPropagation: false
  45.         };
  46.         var ib = new InfoBox(myOptions);
  47.         ib.open(map, marker);
  48.    
  49.         google.maps.event.addListener(marker, 'click', function(){
  50.             ib.open(map, marker);
  51.         });
  52.     }
  53.    
  54.     google.maps.event.addDomListener(window, 'load', initialize);
  55. </script>

Última edición por catpaw; 27/06/2013 a las 13:25
  #3 (permalink)  
Antiguo 27/06/2013, 14:24
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años
Puntos: 23
Respuesta: Abrir infoWindow en Google Maps

Hola otra vez, ya me fije como sacar el globo normal de google maps, aca dejo mi code modificado:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var myLatlng = new google.maps.LatLng(#,-#);
  3. var marker;
  4. var map;
  5. var image = '../images_icon/tip.png';
  6.  
  7. function initialize(){  
  8.     var mapOptions = {
  9.         zoom: 15,
  10.         center: myLatlng,
  11.         mapTypeId: google.maps.MapTypeId.ROADMAP
  12.     };
  13.     map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  14.    
  15.     var marker = new google.maps.Marker({      
  16.         map: map,
  17.         draggable: false,
  18.         animation: google.maps.Animation.DROP,  
  19.         position: myLatlng,
  20.         icon: image,
  21.         title: "Hello World!"  
  22.     });
  23.     //aca se declara el globo
  24.     infoWindow = new google.maps.InfoWindow();
  25.     var markerLatLng = marker.getPosition();
  26.     infoWindow.setContent([
  27.         '<div id="VentanaInfo">',
  28.         'Las coordenadas del lugar son:<br/>',
  29.         markerLatLng.lat(),
  30.         ', ',
  31.         markerLatLng.lng(),
  32.         '</div>'
  33.     ].join(''));
  34.     infoWindow.open(map, marker);
  35.    
  36.     google.maps.event.addListener(marker, 'click', function(){
  37.         //ib.open(map, marker);
  38.         infoWindow.open(map, marker);
  39.     });
  40. }
  41.  
  42. google.maps.event.addDomListener(window, 'load', initialize);
  43. </script>

Y a ti madman_18 solo te faltaria agregar:

Código Javascript:
Ver original
  1. var infowindow = new google.maps.InfoWindow({content: contenido});  
  2. bounds.extend(mapita);
  3. map.setCenter(marcador.getPosition());
  4.  
  5. //agregar para que de inicio que se abra el globo
  6. infowindow.open(map, marcador);

Etiquetas: google, maps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:11.