Foros del Web » Programando para Internet » PHP »

Muchos puntos en un mapa me imprime solo el ultimo valor

Estas en el tema de Muchos puntos en un mapa me imprime solo el ultimo valor en el foro de PHP en Foros del Web. Buenas, estoy tratando de mostrar un mapa con varios puntos que son los resultados de una busqueda, el problema que tengo es que solo me ...
  #1 (permalink)  
Antiguo 18/05/2012, 13:45
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Muchos puntos en un mapa me imprime solo el ultimo valor

Buenas, estoy tratando de mostrar un mapa con varios puntos que son los resultados de una busqueda, el problema que tengo es que solo me imprime el ultimo valor, aunque realmente tengo el dato de todos los otros, mi codigo es el siguiente:

Código PHP:
foreach ($view->result as $result) {
          
$node node_load($result->nid);
          
$latitude $node->location[latitude];
          
$longitude $node->location[longitude];
          
print_r($node->location); 
El print_r me trae todos los valores ok de location

Ahora en el mapa:

Código PHP:
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
        <script>
          var marker;

            var geocoder = new google.maps.Geocoder();
            geocoder.geocode(
              {
            'address': '<?php echo $node->location[street];?><?php echo $ciudad->title;?><?php echo $provincia->title;?><?php echo $pais->title;?>'
                        },
              function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
              var myOptions = {
                zoom: 15,
                center: results[0].geometry.location,
                mapTypeId: google.maps.MapTypeId.ROADMAP
              }
              var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

              marker = new google.maps.Marker({
                map:map,
                draggable:false,
                animation: google.maps.Animation.BOUNCE,
                position: results[0].geometry.location
              });
            }
              }
            );
                 
        </script>
                <?php 
                
?>
    <div id="map_canvas" style="height:300px;width:700px"></div>
Como ven el mapa esta dentro del foreach, no se porque me trae el ultimo nomas...los datos de la ciudad pais y todo lo demas tambien me los trae ...al hacer print_r sobre ciudad, pais y demas..
  #2 (permalink)  
Antiguo 18/05/2012, 14:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Muchos puntos en un mapa me imprime solo el ultimo valor

Si el mapa está dentro del foreach() entonces estás repitiendo el código tantas veces como elementos tengas en tu array, ¿eso te hace sentido?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/05/2012, 14:55
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Muchos puntos en un mapa me imprime solo el ultimo valor

No mucho, en el codigo fuente lo veo repetirse pero solo necesito repetir los puntos, entonces el foreach donde deberia estar y cerrar?
  #4 (permalink)  
Antiguo 18/05/2012, 15:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Muchos puntos en un mapa me imprime solo el ultimo valor

En primero no creo que debas adaptar el foreach(), lo que está mal es la idea en si, no puedes esperar a que funcione sólo porque crees que así sea.

Deberías revisar la documentación de GMaps para ver como insertar múltiples puntos, ya que lo que tienes sólo sirve para uno.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: imprime, mapa, muchos, puntos, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:33.