probleme avec google map api

Petit nouveau ! | 3 Messages

27 déc. 2006, 18:00

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 déc. 2006, 18:55

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 ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 3 Messages

27 déc. 2006, 19:13

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 :(

Petit nouveau ! | 3 Messages

27 déc. 2006, 19:24

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