Quiero saber cómo desencadenar un evento cuando hago clic en una ventana de información utilizando Google Maps API v3. En este ejemplo, cuando hago clic en un marcador, aparece una ventana de información con un mensaje único, según el marcador en el que hice clic. Quiero también podrá hacer clic en la ventana de información y tienen un espectáculo de alerta hasta que diceEvento desencadenante con InfoWindow o InfoBox al hacer clic en Google Map API V3
"Que ha hecho clic en la ventana de información para (__ relleno en la localización en blanco _)
he encontrado algunos ejemplos de uso de Google Maps API v2 y jQuery, pero no con la edad simplemente Google Maps API v3.
<!doctype html>
<html lang="en">
<head>
<title>jQuery mobile with Google maps - Google maps jQuery plugin</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"> </script>
<script type="text/javascript">
var cityList = [
['Chicago', 41.850033, -87.6500523, 1],
['Illinois', 40.797177,-89.406738, 2]
];
var demoCenter = new google.maps.LatLng(41,-87);
var map;
function initialize()
{
map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 7,
center: demoCenter,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
addMarkers();
}
function addMarkers()
{
var marker, i;
var infowindow = new google.maps.InfoWindow();
for (i = 0; i < cityList.length; i++)
{
marker = new google.maps.Marker({
position: new google.maps.LatLng(cityList[i][1], cityList[i][2]),
map: map,
title: cityList[i][0]
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
var contentString = '<div id="infoWindow">'
+'<div id="bodyContent">'
+'<p>'
+ "This location is:<br>"
+ marker.title
+'</p>'
+'</div>'
+ '</div>';
return function() {
infowindow.setContent(contentString);
infowindow.open(map, marker);
google.maps.event.addListener(infowindow, 'click', (function(i){
alert("You clicked on the infowindow for" + cityList[i][0]);
}));
}
})(marker, i));
}
}
</script>
</head>
<body onload="initialize()">
<div id="basic-map" data-role="page">
<div data-role="header">
<h1><a data-ajax="false" href="/">jQuery mobile with Google maps v3</a> examples</h1>
<a data-rel="back">Back</a>
</div>
<div data-role="content">
<div class="ui-bar-c ui-corner-all ui-shadow" style="padding:1em;">
<div id="map_canvas" style="height:350px;"></div>
</div>
</div>
</div>
</body>
</html>
actualización Terminé descifrando esto también para InfoBox, que se incluye a continuación en mi respuesta.
Puede ser que esté interesado en utilizar snazzy-info-window como alternativa. https://github.com/atmist/snazzy-info-window/blob/master/examples/dynamic-content/scripts.js – Zypps987