Salut et merci pour ta réponse.
En réalité je n'ai pas utilisé ces noms là. C'est juste pour illustrer l'exemple : la variable javascript contient du javascript et la fonction data gère les données renvoyées.
C'est pour rassembler un ensemble de commandes.
Bon bref, j'ai trouvé la solution tout seul : utiliser la fonction eval() qui permet d'évaluer et d'exécuter le code javascript contenu dans la chaîne.
Je m'explique :
Code :
- function displaytrace(gpx)
- {
- var xhr = getXMLHttpRequest();
- xhr.onreadystatechange = function() {
- if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
- var voll=xhr.responseText;
- data(voll);
- }
- };
- xhr.open("POST", "ajax.php", true);
- xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );
- xhr.send("Trace_GPX="+gpx);
- }
|
Ici on envoie un nom de fichier XML (il s'agit d'un fichier .gpx) à ajax.php. Celui-ci décortique le XML et récupère les informations souhaitées pour ensuite les assembler dans une commande javascript que voici :
Code :
- new GPolyline([new GLatLng(coord1_lat,coord1_lon),new GLatLng(coord2_lat,coord2_lon), et ainsi de suite], #ff0000, 2.5, 0.5, {geodesic: true})
|
A noter ici l'utilité des crochets.
Une fois la commande assemblée, celle-ci est récupérée par la variable voll qui devient paramètre de la fonction data.
A ce moment, la variable voll est une chaîne de caractère contenant ma commande javascript.
Il est alors maintenant facile de l'utiliser avec eval() :
Code :
- function data(voll)
- {
- ..................
- ..................
- ..................
- var poly1 = eval(voll); //ici
- map.addOverlay(poly1);
|
Si cela peut aider quelqu'un qui se casse la tête avec l'API Google Map, c'est cool
Merci A+
Message édité par Magg27 le 10-02-2011 à 17:09:38