Estimados amigos del foro, hace un tiempo he estado trabajando con php, google maps y mysql. Ahora he querido que me muestre un infowindows, al hacer clic en otro punto me cierre el anterior. Efectivamente lo hace, pero me muestra la misma información en 2 o más marcadores.
Mismo nombre, dirección, etc... Pero me muestra los marcadores bien posicionados.
A continuación les pongo mi código, lo acorté para ahorrar espacio.
Código Javascript
:
Ver original<script type="text/javascript">
google.maps.event.addDomListener(window, 'load', function() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: new google.maps.LatLng(-43.117027, -73.619099),
mapTypeId: google.maps.MapTypeId.HYBRID
}); //Cierra var map
var infoWindow = new google.maps.InfoWindow;
var onMarkerClick = function() {
var marker = this;
var latLng = marker.getPosition(); //Entrega la posición de los marcadores
infoWindow.setContent(marcadores); //Esta es la línea que tiene el contenido de la variable marcadores
infoWindow.open(map, marker);
}; // Cierre de var onMarkerClick = function() {
google.maps.event.addListener(map, 'click', function() {
infoWindow.close();
});
<?php
if($tabla == "puntos" or $criterio != ""){
?>
<?php while ($row = mysql_fetch_array($query2))
{
?>
var myLatLng = new google.maps.LatLng(<?php echo $row['lat']; ?>, <?php echo $row['lng']; ?>);
var empresa = <?php echo "\"" . $row['empresa'] . "\""; ?>;
var direccion = <?php echo "\"" . $row['direccion'] . "\""; ?>;
var telefono = <?php echo "\"" . $row['telefono'] . "\""; ?>;
var image = <?php echo "\"" . $row['icono']. "\""; ?>;
//Vamos añaddiendo el marcador
var marker = new google.maps.Marker(
{
position: myLatLng,
draggable:false,
animation: google.maps.Animation.DROP,
map: map,
icon: image
});//Cerramos el maker
var marcadores ='<b>Empresa:</b>' +empresa + '<br>' + '<b>Dirección:</b>' +direccion + '<br>' + '<b>Teléfono:</b>'+telefono;
google.maps.event.addListener(marker, 'click', onMarkerClick);
<?php } ?>/*Cierre del While*/
<?php
}
?>
});
</script>
Desde ya les gradezco, espero me puedan ayudar a ver dónde esta mi error.
Swab