Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/12/2011, 10h40   #1
Invité de passage
 
Homme Julien
Développeur informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 0
Points : 0
Par défaut Execution des ActiveX à la fin

Bonjour ( et bonnes fêtes au passage ),

Je vous explique mon problème : Je dois réaliser une solution qui permet de géocoder ( convertir en lat et long )des adresses stockées dans une BDD, et de stocker tout cela dans un fichier kml.
J'ai choisi d'utiliser l'API Google.
Pour le moment, j'ai une page PHP qui accède à la BDD, et dedans du JS avec les fonctions de geocodage. J'arrive à utiliser les fonctions, ça pas de problème, seulement j'utilise les Active X pour créer mon fichier KML, et le problème c'est que celui-ci s’exécute au tout début du chargement de la page, avant que les adresses n'aies été géocodées !
Sur mon body j'ai un onload qui pointe sur ma fonction de geocodage, et j'ai essayé de mettre un bouton qui fait appel à la fonction contenant les activeX, sans effet ....
Déjà 3 jours que je suis dessus, donc je viens crier à l'aide !

Quelqu'un pourrait m'aider ?

Le code ( en gros )
Code :
1
2
3
4
5
6
7
8
9
10
11
var file = new ActiveXObject("Scripting.FileSystemObject");
var a = file.CreateTextFile('C:\\testfil.txt', true);
geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address[0]}, function(results, status) {
   if (status == google.maps.GeocoderStatus.OK) {
      tableau[0] = results[0].geometry.location;
      alert("" + tableau[0]);
      a.WriteLine("" +tableau[0]);
   } else {
      alert("Geocode was not successful for the following reason: " + status);}});
   a.Close();
Synoyx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 17h44   #2
Invité de passage
 
Homme Julien
Développeur informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 0
Points : 0
Résolu, falait supprimer le a.Close();
Pas très propre mais ça marche
Synoyx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 18h29   #3
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
Bonjour,
Citation:
Envoyé par Synoyx Voir le message
Résolu, falait supprimer le a.Close();
Pas très propre mais ça marche
la fonction appelée dans geocoder.geocode est une fonction callback qui s'exécute de façon asynchrone, donc lorsque tu fais un a.close(), le fichier est fermée à l'exécution de la fonction.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
var file = new ActiveXObject("Scripting.FileSystemObject");
geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address[0]}, function (results, status){
  if (status == google.maps.GeocoderStatus.OK) {
    var a = file.CreateTextFile('C:\\testfil.txt', true);
    tableau[0] = results[0].geometry.location;
    a.WriteLine("" + tableau[0]);
    a.Close();
  }
  else {
    alert("Geocode was not successful for the following reason: " + status);
  }
});
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 18h44   #4
Invité de passage
 
Homme Julien
Développeur informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Nom : Homme Julien
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 0
Points : 0
Oui je m'en suis rendu compte apres, mais meme en le sortant de la fonction, ça ne marchait pas.
Synoyx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h06.


 
 
 
 
Partenaires

Hébergement Web