Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2009, 10:47
onatsu
 
Fecha de Ingreso: septiembre-2007
Mensajes: 51
Antigüedad: 17 años, 4 meses
Puntos: 1
Poner muchas marcas en google maps, mediante un listado php

Hola a todos, puesto que mi duda incluye php javascript google maps, no sabia donde ponerla, si fuera en otro foro por favor muevanlo.

El caso es que tengo un listado de unos 40 pisos, en una base de datos, y quiero que en la web aparezca un mapa de Gmaps, con todas las localizaciones.

Pero cuando hago la programación me encuentro con el siguiente problema.

A. me muestra los que les da la gana cada vez que recargo carga unos diferentes.

B. El cuadro de texto que se abre al hacer click, es siempre el del ultimo piso que devuelve la query.

os pego el código que hago, por que me estoy volviendo loco!!!!!

Código PHP:
<?
    $general_map_query 
mysql_query("SELECT * from doro_apartament");
?>
<script>
function load() {

    var miIcono = new GIcon(G_DEFAULT_ICON);
        miIcono.image = "images/style/gmap_logo.png";
   if (GBrowserIsCompatible()) {
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      var geocenter = new GClientGeocoder();
            geocenter.getLatLng("sitges, barcelona", function(cent) {
                    map.setCenter(cent,13);
            });
           
      function crearMarca(punto, html){
         var miMarca = new GMarker(punto,miIcono);
         GEvent.addListener(miMarca, "click", function (){
            miMarca.openInfoWindowHtml(html);
         });
         map.addOverlay(miMarca);
      }
             <? while($general_map mysql_fetch_array($general_map_query)){
             
?>            
            var html = "<? echo "<h2>$general_map[title_es]</h2>"?>";
            var geocoder = new GClientGeocoder();
            geocoder.getLatLng("<? echo $general_map[adress]; ?>", function(point) {
                    crearMarca(point,html);
            });
            <? ?>
      
   }

window.onload=load
</script>