Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2012, 12:48
Avatar de Swab
Swab
 
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 9 meses
Puntos: 5
Pregunta google maps, php y mysql

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
  1. <script type="text/javascript">
  2.      google.maps.event.addDomListener(window, 'load', function() {
  3.     var map = new google.maps.Map(document.getElementById('map'), {
  4.       zoom: 15,
  5.       center: new google.maps.LatLng(-43.117027, -73.619099),
  6.       mapTypeId: google.maps.MapTypeId.HYBRID
  7.     }); //Cierra  var map
  8.  
  9.     var infoWindow = new google.maps.InfoWindow;
  10.  
  11.     var onMarkerClick = function() {
  12.       var marker = this;
  13.       var latLng = marker.getPosition(); //Entrega la posición de los marcadores
  14.           infoWindow.setContent(marcadores); //Esta es la línea que tiene el contenido de la variable marcadores
  15.           infoWindow.open(map, marker);
  16.     }; // Cierre de  var onMarkerClick = function() {
  17.       google.maps.event.addListener(map, 'click', function() {
  18.       infoWindow.close();
  19.     });
  20.     <?php
  21.         if($tabla == "puntos" or $criterio != ""){
  22.   ?>
  23.     <?php while ($row = mysql_fetch_array($query2))
  24.      {
  25.      ?>
  26.         var myLatLng  =  new google.maps.LatLng(<?php echo $row['lat']; ?>, <?php echo $row['lng']; ?>);
  27.         var empresa   =  <?php echo "\"" . $row['empresa'] . "\""; ?>;
  28.         var direccion =  <?php echo "\"" . $row['direccion'] . "\""; ?>;
  29.         var telefono  =  <?php echo "\"" . $row['telefono'] . "\""; ?>;
  30.         var image     =  <?php echo "\"" . $row['icono']. "\"";  ?>;
  31.         //Vamos añaddiendo el marcador
  32.         var marker    =  new google.maps.Marker(
  33.          {
  34.           position: myLatLng,
  35.           draggable:false,
  36.           animation: google.maps.Animation.DROP,
  37.           map: map,
  38.           icon: image
  39.        });//Cerramos el maker
  40.         var marcadores ='<b>Empresa:</b>' +empresa + '<br>' + '<b>Direcci&oacute;n:</b>' +direccion + '<br>' + '<b>Tel&eacute;fono:</b>'+telefono;
  41.  
  42.         google.maps.event.addListener(marker, 'click', onMarkerClick);  
  43.     <?php } ?>/*Cierre del While*/
  44.   <?php
  45.   }
  46.   ?>   
  47. });
  48.  
  49.   </script>



Desde ya les gradezco, espero me puedan ayudar a ver dónde esta mi error.

Swab