Pb API google map et bdd php/sql

Fermé
David4 - 4 juil. 2008 à 11:48
knarfou90 Messages postés 3 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 28 septembre 2010 - 28 sept. 2010 à 12:18
Bonjour,

Bonjour à tous,

Je souhaite intégrer dans mon site un affichage de résultats d'un formulaire dans l'api google map. Voilà mon code :

Code :

1. <?php
2. mysql_connect("", "", "" );
3. mysql_select_db("" );
4.
5. //on recupere la latitude longitude nom de la structure
6. $reponse = mysql_query("SELECT Latitude,Longitude FROM T_Gps" )
7. ?>
8.
9.
10. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
11. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
12. <html xmlns="http://www.w3.org/1999/xhtml">
13. <head>
14. <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
15. <title>carte d'essai</title>
16. <script src="http://maps.google.com/maps?file=api&v=2&key="
17. type="text/javascript"></script>
18. <script type="text/javascript">
19.
20. //<![CDATA[
21. function load() {
22. if (GBrowserIsCompatible()) {
23.
24. function createMarker(point, number) {
25. var marker = new GMarker(point,icon);
26. GEvent.addListener(marker, "click", function() {
27. marker.openInfoWindowTabsHtml(infoTabs);
28. });
29. return marker;
30. }
31. var infoTabs = [
32. new GInfoWindowTab(" info1", " " ),
33. new GInfoWindowTab(" info2", " " )
34. ];
35.
36. //création d'une carte nommé "map"
37. var map = new GMap2(document.getElementById("map" ));
38. GEvent.addListener(map, "moveend", function() {
39.
40. var center = map.getCenter();
41. });
42.
43. map.addControl(new GSmallMapControl());
44.
45. map.addControl(new GMapTypeControl());
46.
47.
48. map.setCenter(new GLatLng(45.44 , 4.395), 8);
49.
50.
51. var icon = new GIcon();
52.
53. icon.image = "http://images.google.fr/...";
54.
55. icon.shadow = "http://maps.gstatic.com/mapfiles/ridefinder-images/mm_20_shadow.png";
56.
57. icon.iconSize = new GSize(23, 23);
58. icon.shadowSize = new GSize(22, 20);
59. icon.iconAnchor = new GPoint(6, 20);
60. icon.infoWindowAnchor = new GPoint(5, 1);
61.
62.
63. <?php while ($donnees = mysql_fetch_array($reponse)){?>
64. var point = new GLatLng('<?php echo $donnees['Latitude']; ?>','<?php echo $donnees['Longitude'] ; ?>')
65. map.addOverlay(createMarker(point ,1));
66. marker.openInfoWindowTabsHtml(infoTabs);
67.
68. <?php } ?>
69. }
70. }
71. </script>
72. </head>
73. <body onload="load()" onunload="GUnload()">
74. <div id="map" style="width: 500px; height: 500px"></div>
75. </body>
76. </html>



Il fonctionne correctement avec un seul enregistrement dans la table mais pas avec plusieurs. Il affiche seulement la première donnée de la table (marqueur sur la carte) et n'arrive pas à créer et afficher d'autres marqueurs (correspondants aux autres données).

La boucle ne s'exécute qu'une seule fois.

D'où peux venir le soucis ?

Merci d'avance pour votre aide.
A voir également:

3 réponses

franery Messages postés 25 Date d'inscription dimanche 1 juin 2008 Statut Membre Dernière intervention 13 avril 2009 4
4 juil. 2008 à 11:51
peut etre qu'il peut prendre qu'une seule donnée?
3
angelo510 Messages postés 3 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 13 août 2008 2
13 août 2008 à 21:16
bonjour
ma reponse est un peu tard mais bon...je pense que le probleme est dans ta boucle while tu déclare a chaque fois une seule variable et a chaque fois tu lui donne une valeur differente alors a la fin de la boucle il ne retourne qu'une seule variable avec une seul valeur...tu as pu saisir ce que je ve dir ?? en fin de compte pour le navigateur il n'a qu'une seule variable avec une seule valeur a présenter sur la carte ....

pour moi je me suis basé sur un script PHP qui géner un fichier json ainsi que les données génerées par le script sont facilement manipuler par le code javascript qui affiche les points sur la carte (on peut generer les données sous format json ou bien XML c'est a peut prés les meme notions de base...)

bon, pour moi le probleme que j'ai c'est que j'ai pus localisé des points a partir d'une base de données sur la carte ... maintenant je cherche a cercler les points afficher sur la cartes (Un cercle de 2,5 Km de rayon qui apparaître autour de l’adresse) jusqu'a maintenant j'ai pas trouver un meilleur tutoriel apropos que ce lui là :

https://www.touraineverte.com

il te montre comment dessigner un cercle...mais le probleme c'est que je n'arrive pas a fusionner les deux codes de tel maniere a ce qu'on affiche un point sur la carte et qui soit cerclé

Merci d'avance :d
2
knarfou90 Messages postés 3 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 28 septembre 2010
28 sept. 2010 à 12:18
bonjour,

voici un exemple de ce que donne le résultat avec plusieurs marqueurs : interactive des évènements et loisirs.

il faut manipuler un tableau de point et ensuite faire une boucle qui parcourt les points et créé un marqueur à chaque fois.
tu peux regarder le javascript du site http://autour2moi.fr pour t'inspirer.
N'hésite pas à me contacter pour + d'infos.

A +
0