Bonjour,
Je dois mettre en place une fonction AJAX qui affiche des markers Google Map dont les infos et coordonnées sont présents dans une base de données. Cette fonction prendra 2 paramètres qu'elle passera en GET vers un fichier PHP (data.php) de traitement. Ces paramètres étant les coordonnées nord-est et sud-ouest de google map, le data.php va préparer une requête pour prendre les points situé entre ses coordonnées et doit les afficher.
La requête fonctionne, mais le problème est que je crois qu'il n'est pas possible de retourner du javascript de cette façon, pourtant, j'en ai besoin, car la méthode pour afficher les markers GM est une fonction javascript...
La solution, je crois, serait de traiter le résultat de ma requête de data.php dans ma fonction js qui l'appelle.
Voilà ma fonction js :
Je pense qu'il faudrait que je modifie au niveau du success et que je mette quelque chose du genre (mais ça ne doit pas fonctionner comme ça) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function dragcarte(nordest,sudouest){ var nordest; var sudouest; $.ajax({ type: "GET", url: "data.php", data: "ne="+nordest+"&so="+sudouest, dataType: "script", success: function(msg){ $("#ajax").html( msg ); } }); }
Voici en gros mon data.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 success: function(msg){ eval( msg ); }
J'espère qu'il y a toutes les données du problème et que vous pourrez m'aider parce que là, je galère, j'ai cherché un peu partout, et le JS, j'aime pas trop ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <? if($_GET['ne'] != "" && $_GET['so'] != ""){ //on récupère 2 valeurs, le point sud ouest et le point nord est, il faut spliter les valeurs pour en obtenir 4, chaque latitude et chaque longitude. // Requête qui va chercher les évenements éventuels présents entre les coordonnées Nord-Est, Sud-Ouest données par les variables $nordest et $sudouest. // Si il y a un résultat, on affiche ce qu'il faut. ?> function affiche_points_ajax(){ <? while($resajax = mysql_fetch_array($sql_markers)){ ?> var point=new GLatLng(<?=$resajax["Latitude"]?>,<?=$resajax["Longitude"]?>); <? if($resajax["Commercial"]){ ?> markers_c[markers_c.length] = PlacePointAvecInfos(map, point, 5,"icone_commercial.gif","<?=utf8_encode($resajax["CouleurCategorie"])?>","http://www.closevents.com/detail_evenement.php?id_evenement=<?=$resajax["IdEvenement"]?>&id_langue=<?=$resajax["IdLangue"]?>",2,"<? echo addslashes($ls_contenuPetiteBulle) ; ?>", "infoPetiteBulle"); <? }else{ ?> markers[markers.length] = PlacePointAvecInfos(map, point, 5,"<?=$resajax["IconeCategorie"]?>","<?=utf8_encode($resajax["CouleurCategorie"])?>","http://www.closevents.com/detail_evenement.php?id_evenement=<?=$resajax["IdEvenement"]?>&id_langue=<?=$resajax["IdLangue"]?>",1,"<? echo addslashes($ls_contenuPetiteBulle) ; ?>", "infoPetiteBulle"); <? } } ?> }affiche_points_ajax(); alert("test"); <? } ?>.
Merci.
Partager