Bonsoir,
J'utilise jQuery, et j'ai un petit souci pour executer du javascript de manière asyncrone.
Je m'explique :
J'utilise également l'api GoogleMaps, et je souhaite creer des Gmarkers.
J'ai une page, page.php, qui fait des appel a la bdd pour generer du javascript avec des données provenant de ma bdd. L'output de page.php est de ce type :
Code :
- map.addOverlay(new GMarker(new GLatLng(13.37,13.37))); map.addOverlay(new GMarker(new GLatLng(19.89.,19.89)));
|
Et j'aimerai executer ce javascript suivant les interactions, j'ai donc dans un evenement quelconque :
Code :
- var map = new GMap2(document.getElementById("map" ));
- [...]
- $.ajax({
- type: "GET",
- url: "php/page.php",
- dataType: "script",
- });
|
Ca ne fonctionait pas du tout, j'ai mis du temps m'apercevoir (betement), que cetait car dans page.php, le javascript generé ne dispose pas de l'objet "map".
Je ne sais pas comment faire, passer l'objet a ma page via l'AJAX ? Ca me parait peu faisable vu l'objet.
J'aimerai bien pouvoir simplement executer l'output de ma page.php, quelque chose du genre
Code :
- $.ajax({
- type: "GET",
- url: "php/fill_map.php",
- success : function(msg) {
- EXECUTER(msg);
- }
- });
|
Merci de votre aide,
EDIT : Apres reflexion, je pourrais renvoyer une chaine formaté de type "13.37+13.37$19.89+19.89", et traiter dans le success la chaine, creer un array, puis boucler, et construire mes map.addOverlay.. Mais je prefere construire le javascript via php.
Message édité par vhAnton le 04-06-2009 à 23:46:47