AJAX en JQuery et retour javascript pour Google Map
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 :
Code:
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 );
}
});
} |
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:
1 2 3
| success: function(msg){
eval( msg );
} |
Voici en gros mon data.php :
Code:
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");
<?
}
?> |
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 :roll:.
Merci.