elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Desarrollo Web / Paso de parametros por ID javascript, Php... Google Maps v3 en: 24 Abril 2012, 17:25 pm
Estimados amigos del foro,
Estoy trabajando con google maps v3, php y mysql.

Tengo mis puntos en mi DB, hago las consultas bien, pero quiero que al hacer clic en un punto no me muestre la típica ventana de InfoWindows, sino que estoy tratando de sacar los resultados por ID de mi base de datos a un Iframe.
Mi problema es que al hacer clic en cualquier punto me muestra solo la información del último ID de mi tabla, y no me muestra los demás. He estado leyendo que es posible hacerlo con Ajax, pero no tengo mucha idea de como hacerlo.
Necesito que me ayuden porfavor, estaré muy agradecido si alguien me da una orientación o un ejemplo.
Este es mi código donde muestro el Mapa:

index.php
Código
  1. <?php
  2. //Quita las noticias
  3. error_reporting(E_ALL & ~E_NOTICE);
  4. //Incluyo el archivo de conexión
  5. require("../config/conexion.php");
  6. $tabla = $_POST["tablas"];
  7. if($tabla == "puntos") {
  8. $query = "SELECT * FROM puntos";
  9. }
  10. }
  11. $query2 = mysql_query($query, $conexion);
  12. ?>
  13. <html>
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  16. <script src="../js/funciones.js" type="text/javascript" charset="utf-8"></script>
  17. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
  18.  <script type="text/javascript">
  19. function initialize() {
  20.    var myOptions = {
  21.      zoom: 15,
  22.      center: new google.maps.LatLng(-44.117027, -24.619099),
  23.      mapTypeId: google.maps.MapTypeId.ROADMAP
  24.    }//Cierra myOptions
  25.     var map = new google.maps.Map(document.getElementById("map"), myOptions);
  26. if($tabla == "puntos"){
  27.  ?>
  28.   <?php while ($row = mysql_fetch_array($query2))
  29. {
  30. ?>
  31.    var myLatLng  =  new google.maps.LatLng(<?php echo $row['lat']; ?>, <?php echo $rsTurismo['lng']; ?>);
  32.    var empresa   =  <?php echo "\"" . $row['empresa'] . "\""; ?>;
  33.    var direccion =  <?php echo "\"" . $row['direccion'] . "\""; ?>;
  34.    var telefono  =  <?php echo "\"" . $row['telefono'] . "\""; ?>;
  35. var image  =  <?php echo "\"" . $row['icono']. "\"";  ?>;
  36.    //Vamos añaddiendo el marcador
  37.    var marker    =  new google.maps.Marker(
  38.     {
  39.          position: myLatLng,
  40.      draggable:false,
  41.          animation: google.maps.Animation.DROP,
  42.          map: map,
  43.          icon: image
  44.       });//Cerramos el maker
  45. var marcadores ='<b>Empresa:</b>' +empresa + '<br>' + '<b>Direcci&oacute;n:</b>' +direccion + '<br>' + '<b>Tel&eacute;fono:</b>'+telefono;
  46.  
  47.        // Agregar ventana de información con evento
  48.        MuestraInfo( marker, marcadores);
  49.  
  50.     //Función para mostrar mis datos
  51.        function MuestraInfo(marker, msg) {
  52.           // Crear ventana de información.
  53.             var infowindow = new google.maps.InfoWindow({
  54.             content : msg
  55.            });
  56.            // Crear evento para mostrar la ventana al dar click
  57.            google.maps.event.addListener(marker, 'click', function(){
  58.   window.frames.resultado.location.href="info.php?id=<?php echo $row['id']; ?>"; //ACÁ ES DONDE ENVÍO EL RESULTADO A MI IFRAME de nombre "resultado". Acá me muestra solo el último ID
  59. });
  60.        }
  61. <?php } ?>/*Cierre del While*/
  62. }
  63. $(document).ready(function() {
  64.        initialize();
  65.    });
  66.  </script>
  67. ...
  68. Acá mi código html
  69. <html>
  70. ....
  71. <iframe name="resultado" width="260" height="200" align="left" frameborder="0" id="idifrm">
  72.    </iframe>
  73. </html>
  74.  
  75.  

El info.php es este:
Código
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. require("../config/conexion.php");
  4. $identificador = $_GET['id'];
  5. $query = "SELECT * FROM puntos WHERE id =$identificador";
  6. $quer = mysql_query($query, $conexion);
  7. ?>
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  11. <link href="../css/styles.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <h3>Resultados </h3>
  15. <table width="250" border="1">
  16.   <?php while ($rs = mysql_fetch_assoc($quer)) { ?>
  17.  <tr>
  18.    <td width="73">Empresa</td>
  19.    <td width="111"><?php echo $rs['empresa']; ?></td>
  20.  </tr>
  21.  <tr>
  22.    <td>Direccion</td>
  23.    <td><?php echo $rs['direccion']; ?></td>
  24.  </tr>
  25.  <tr>
  26.    <td>Telefono</td>
  27.    <td><?php echo $rs['telefono']; ?></td>
  28.  </tr>
  29.  <tr>
  30.    <td>E-mail</td>
  31.    <td><?php echo $rs['email']; ?></td>
  32.  </tr>
  33.   <?php } ?>
  34. </table>
  35.  
  36.  

Desde ya les agradezco me puedan ayudar
SandriCh
2  Programación / Desarrollo Web / Re: Ayuda Php-Mysql, google Maps v3 en: 8 Marzo 2012, 19:10 pm
Solucionado amigo, guardé los campos en una variable y luego lo imprimí.

Gracias
3  Programación / Desarrollo Web / Re: Ayuda Php-Mysql, google Maps v3 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
4  Programación / Desarrollo Web / Ayuda Php-Mysql, google Maps v3 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
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines