Page 1 sur 1

probleme avec google map api

Posté : 27 déc. 2006, 18:00
par raphs43
bonjour
voila mon probleme je veux afficher plusieur point sur une carte en fonctions des coordonnées (lat, lng)
ces coordonnées sont dans une base de donnée mysql
le probleme est que lorsque j'affiche ma carte j'obtient uniquement le dernier point de ma base de donnée alors que je voudrai que tout les point soit afficher

voila mon code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>

    <?php
           mysql_connect("", "", "");
           mysql_select_db("");
   
     //on recupere la latitude longitude nom de la structure     
          $reponse = mysql_query("SELECT Latitude,Longitude FROM T_Gps")
    
            while ($donnees = mysql_fetch_array($reponse)){
   

      ?> 

    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>carte d'essai</title>
    <script src="http://maps.google.com/maps?file=api&v=2&key="
      type="text/javascript"></script>
    <script type="text/javascript">

    //<![CDATA[
     function load() {
      if (GBrowserIsCompatible()) {
         
          function createMarker(point, number) {
                  var marker = new GMarker(point,icon);
                  GEvent.addListener(marker, "click", function() {
                  marker.openInfoWindowTabsHtml(infoTabs);             
                  });
                   return marker;
            }
            var infoTabs = [
             new GInfoWindowTab("  info1", "  "),
              new GInfoWindowTab(" info2", "  ")
            ];

     //création d'une carte nommé "map"
            var map = new GMap2(document.getElementById("map"));
                        GEvent.addListener(map, "moveend", function() {
        
            var center = map.getCenter();
                });
        
            map.addControl(new GSmallMapControl());
         
            map.addControl(new GMapTypeControl());
       
            
            map.setCenter(new GLatLng(45.44 , 4.395), 8);
                 
           
            var icon = new GIcon();
       
            icon.image = "http://images.google.fr/images?q=tbn:gS51abIJ6eysoM:http://rgfrance0.tripod.com/sitebuildercontent/sitebuilderpictures/flag.jpg";
       
            icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
      
            icon.iconSize = new GSize(23, 23);
            icon.shadowSize = new GSize(22, 20);
            icon.iconAnchor = new GPoint(6, 20);
            icon.infoWindowAnchor = new GPoint(5, 1);             
                
             
        
            var point = new GLatLng('<?php echo $donnees['Latitude']; ?>','<?php echo $donnees['Longitude'] ; ?>')
             map.addOverlay(createMarker(point ,1));
             marker.openInfoWindowTabsHtml(infoTabs);
           
      }
    }
   
         //]]>
        </script>

      <?php
          }
      mysql_close();
       ?>  
  
  </head>
  <body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 500px; height: 500px"></div>  
  </body>
</html>
voila merci d'avance pour vos reponse

Posté : 27 déc. 2006, 18:55
par zeus
Pas la peine de redéfinir plusieurs fois les fonctions qui permettent de placer un marqueur.

Il vaut mieux que tu essayes d'isoler l'appel à la fonction qui crée un marqueur et que tu fasses autant d'appel que de coordonnées dans ta table ;)

En plus m'est avis que tu sais déjà quelle est cette instruction puisque tu sais lui donner des valeurs extraites du php ;)

Posté : 27 déc. 2006, 19:13
par raphs43
merci de ton message j'avoue que c'etait pas tres malin de mettre la fonction de creation de marqueur dans la boucle
mais ca ne marche toujours pas :?
je suis debutant et je galere un peu :(

Posté : 27 déc. 2006, 19:24
par raphs43
ca y es c'est bon en relisant ton post plusieurs fois ca eclaircis l'esprit
je regenéré plusieur fois la carte alors les point disparaissait en meme tps
merci pour ton aide