37

He fregado stackoverflow y en otros foros, incluyendo el Mapas Google docs API v3 una respuesta, pero no puedo encontrar la manera de cambiar el evento que dispara la ventana de información de marca de clic a mouseover en los archivos con los que estoy trabajando.Google Maps v3 marcador ventana de información en mouseover

Estoy trabajando con una demostración de la biblioteca de google que incluye una capa de tabla de fusión.

Amplía los clústeres y ve los pequeños marcadores de círculo rojo para las ubicaciones. Tienes que hacer clic para mostrar una ventana de información. Deseo pasar para revelar la ventana de información.

Mi demo está aquí: http://www.pretravelvideo.com/gmap2/

El archivo functions.js hace la mayor parte del trabajo aquí: http://www.pretravelvideo.com/gmap2/functions.js

+0

El evento que está buscando es mouseover, ¿no le funciona? –

+0

Ni siquiera veo las infowindows que aparecen al hacer clic en sus marcadores rojos – duncan

Respuesta

95

He aquí un ejemplo: http://duncan99.wordpress.com/2011/10/08/google-maps-api-infowindows/

marker.addListener('mouseover', function() { 
    infowindow.open(map, this); 
}); 

// assuming you also want to hide the infowindow when user mouses-out 
marker.addListener('mouseout', function() { 
    infowindow.close(); 
}); 
+0

¡Publicación realmente útil! – toidiu

+2

¿Y qué pasa si quiero copiar algo de texto de Infowindow? Quiero que el infowindow permanezca abierto siempre que tenga el mouse sobre el marcador O la ventana de información ... Por lo tanto, el detector de mouseout en el marcador no lo hará :( – Kedor

+0

@Kedor cambia el detector de eventos mouseout para estar en la ventana de información en lugar del marcador – duncan

4
var icon1 = "imageA.png"; 
var icon2 = "imageB.png"; 

var marker = new google.maps.Marker({ 
    position: myLatLng, 
    map: map, 
    icon: icon1, 
    title: "some marker" 
}); 

google.maps.event.addListener(marker, 'mouseover', function() { 
    marker.setIcon(icon2); 
}); 
google.maps.event.addListener(marker, 'mouseout', function() { 
    marker.setIcon(icon1); 
}); 
0

Gracias para duncan responder, termino con esto:

marker.addListener('mouseover',() => infoWindow.open(map, marker)) 
marker.addListener('mouseout',() => infoWindow.close()) 
Cuestiones relacionadas