Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: sandrich en 8 Marzo 2012, 13:52 pm



Título: Ayuda Php-Mysql, google Maps v3
Publicado por: sandrich en 8 Marzo 2012, 13:52 pm
Hola amigos del foro, estoy trabajando con Php-mysql y google maps, tengo un problema al querer mostrar el infoWindows correspondiente de cada punto que voy recogiendod e mi base de datos. He lestado googleando, pero no le encuentro solución, en la V2 no tenía problema, pero opté por cambiar a la versión 3 ya que no necesita el API key.
Mí codigo es este:
-------------------------------------
<?php
//Quita los mensajes de  noticias
error_reporting(E_ALL & ~E_NOTICE);
//Incluyo el archivo de conexión
require("conexion.php");

//Guarda la variable que viene del formulario
$criteriotxt = $_POST["criterio"];
$criterio = ucfirst($criteriotxt);

    //Si criterio no esta vacio, entrega los datos ingresados por el usuario
   if ($criterio != "") {
    //Consulta todos los puntos de la tabla emp_turisticos
   $query = "SELECT * FROM mi_tabla WHERE
                                    nombre like '%$criterio%' OR
                                    apellido like '%$criterio%' OR
                                     empresa like '%$criterio%' OR
                                    direccion like '%$criterio%'";
                                    
   $queTurismo = mysql_query($query, $conexion);
   //Si criterio está vacio que cargue todos los datos
}elseif ($criterio == "") {
   //Consulta todos los puntos de la tabla
   $query = "SELECT * FROM mi_tabla";
   $queTurismo = mysql_query($query, $conexion);
}
?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- A continuación incluyo la llamada a la API Google Maps-->
 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
</script>

  <script type="text/javascript">
  function initialize() {
    var myOptions = {
      zoom: 15,
      center: new google.maps.LatLng(-43.118027, -73.613099),
      mapTypeId: google.maps.MapTypeId.TERRAIN
    }
     var map = new google.maps.Map(document.getElementById("map"), myOptions);

    //Ventanas de información
      var infowindow = new google.maps.InfoWindow({
          content: 'No puedo mostrar la información de la DB' //Acá tengo problemas, NO SÉ como llamar las variables de mi tabla
       }); //Close infowindows
   
   //Imprimimos los datos de la DB, por lat/long
   <?php while ($rsTurismo = mysql_fetch_assoc($queTurismo))
    {
    ?>
         var image     = 'img/cafe.png';
        var myLatLng  =  new google.maps.LatLng(<?php echo $rsTurismo['lat']; ?>, <?php echo $rsTurismo['lng']; ?>);
       var nombre    =  <?php echo "\"" . $rsTurismo['nombre'] . "\""; ?>;
       var apellido  =  <?php echo "\"" . $rsTurismo['apellido'] . "\""; ?>;
       var empresa   =  <?php echo "\"" . $rsTurismo['empresa'] . "\""; ?>;
       var direccion =  <?php echo "\"" . $rsTurismo['direccion']. "\"";  ?>;
        var telefono  =  <?php echo "\"" . $rsTurismo['telefono']. "\"";  ?>;

        //Vamos añaddiendo el marcador
       var marker    =  new google.maps.Marker(
        {
          position: myLatLng,
         draggable:false,
          animation: google.maps.Animation.DROP,
          map: map,
          icon: image
       });//Close marker

       google.maps.event.addListener(marker, 'click', function() {
       infowindow.open(map, marker);
      });
  <?php } ?>/*Cierre del While*/
}//cierre de la función load()
  </script>
........
.........
.......
Me muestra los puntos sin problemas, pero no sé como hacer para que me muestre el infowindows al hacer clic sobre un punto.

Desde ya muchas gracias amig@s

Sandro

Mi correo es: sandrilloalvarez@hotmail.com
Por si alguien quiere compartir ideas del tema


Título: Re: Ayuda Php-Mysql, google Maps v3
Publicado por: Shell Root en 8 Marzo 2012, 18:35 pm
:http://foro.elhacker.net/desarrollo_web/google_maps_api_v3_markes_e_infowindows-t350783.0.html;msg1708252#msg1708252


Título: Re: Ayuda Php-Mysql, google Maps v3
Publicado por: sandrich en 8 Marzo 2012, 18:58 pm
Muchas Gracias amigo, funciona el Infowindows que necesitaba perfectamente...

Una cosa, por ejemplo.
     mostrarMensaje( marker, structMap['lugares']['nombre_lugar'] );
la cambié por:      mostrarMensaje( marker, nombre, apellido, etc...);

En la función la dejé tal cual:         function mostrarMensaje(marker, msg) {
y el content: msg

Me muestra solo el nombre...
Por qué podría ser???

Muchas gracias nuevamente


Título: Re: Ayuda Php-Mysql, google Maps v3
Publicado por: sandrich en 8 Marzo 2012, 19:10 pm
Solucionado amigo, guardé los campos en una variable y luego lo imprimí.

Gracias


Título: Re: Ayuda Php-Mysql, google Maps v3
Publicado por: Shell Root en 9 Marzo 2012, 05:55 am
Porqué msg es un sólo parámetro, así que deberías de ponerlo todo concatenado, es decir,
Código
  1. mostrarMensaje( marker, strNombre + ' ' + strApellido );

Pero creo que debería ser mejor tenerlo todo en una variable (así como supongo que tienes)
Código
  1. strMessage = strNombre + ' ' + strApellido;
  2. mostrarMensaje( marker, strMessage );