IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Géocodage inversé et parsage XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Par défaut Géocodage inversé et parsage XML
    Bonjour à tous,

    Je suis en train de programmer un petit programme de geocodage inversé mais je rencontre actuellement un probleme, dans le fichier de sortie de mon programme, aucune donnée est écrite ( seulement des retours chariot ).

    Je ne trouve pas la source de mon probleme, en voici en parti le code :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    GPStoAddress::GPStoAddress(std::string _latitude_longitude)
    :	QObject(),
    	latitude_longitude(_latitude_longitude)
    {
    	netAccessMgr = new QNetworkAccessManager();
    	LoadXMLFromNet();
    }
     
    void GPStoAddress::LoadXMLFromNet()
    {
     
     
           QString URL = QString("http://maps.googleapis.com/maps/api/geocode/xml?latlng=") + QString(latitude_longitude.c_str()) + QString("&sensor=false");
     
     
    	QUrl url(URL);
     
    	connect(netAccessMgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
    	expectedNetReply = netAccessMgr->get(QNetworkRequest(url));
     
     
    }
     
     
    void GPStoAddress::replyFinished(QNetworkReply* reply)
    {
     
            QString data(reply->readAll());
    	QFile file(data);
     
     
    	file.open(QIODevice::ReadOnly);
     
    	QDomDocument doc;
     
    	if(!doc.setContent(&file))
    	{
    		address = "unknown2";
    	}
    	else
    	{
    		file.close();
    		QDomElement Root = doc.documentElement();
     
    		Root = Root.firstChildElement();
     
    		while(!Root.isNull())
    		{
     
    			if(Root.tagName() == "result")
    			{
    				QDomElement FirstChild = Root.firstChildElement();
     
     
    				while(!FirstChild.isNull())
    				{
    					if(FirstChild.tagName() == "formatted_address")
    					{
    						QString Address = FirstChild.text();
    						address = Address.toStdString();
    					}
     
    					FirstChild = FirstChild.nextSiblingElement();
    				}
    			}
    			Root = Root.nextSiblingElement();
    		}
    		address = "unknown3";
    	}
     
    }
    et mon main qui me semble correct mais enfin on sais jamais

    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
    int main(int argc, char *argv[])
    {
    	if( is_readable( argv[1]) )
    	{ 
    		ifstream fichier_GPS( argv[1], ifstream::in);
     
    		if ( fichier_GPS )
    		{
    			string Coord_GPS; 
    			ofstream fichier_ADDRESS( argv[2], ios_base::app );
     
    			while ( getline( fichier_GPS, Coord_GPS ) )
    			{
    				GPStoAddress address(Coord_GPS);
    				fichier_ADDRESS << address.GetAddress() << endl;
    			}
    		}
    	} 
    	else 
    	{ 
    		cout << "non-existent or unreadable file \n"; 
    	} 
     
    return 0;
    }
    J'attends vos conseils

    Tooxx

    edit : Mon programme ne rentre pas dans la fonction replyFinished(), or elle devrait y aller quand la connexion se fait ?

  2. #2
    Membre éprouvé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Par défaut
    J'ai compris mon erreur, les signales ne partaient pas car mes objets n'existaient pu

    Enfin voila maintenant ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDOM] Problème parsage xml
    Par Kalmos2 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 22/04/2009, 00h59
  2. [DOM] Fermeture de Socket apres parsage XML
    Par Ange-Louis dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 14/04/2008, 17h10
  3. [AJAX] Parsage XML ne fonctionne pas sous IE!
    Par webrider dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/03/2007, 19h50
  4. [Tableaux] Parsage XML en choississant l'info
    Par gandolfi dans le forum Langage
    Réponses: 18
    Dernier message: 20/02/2007, 09h09
  5. [DOM] Parsage XML en PHP 4
    Par Huntress dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/12/2005, 22h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo