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

Langage PHP Discussion :

[CSV] extraire latitude/longitude de google map


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut [CSV] extraire latitude/longitude de google map
    bonjour
    je voudrais savoir comment on peut extraire les coordonnées latitude longitude retournées par google map lorsqu'on interroge l'url correspondant à une adresse.
    exemple :
    http://maps.google.com/maps/geo?q=75..._eu3bNbEGnk_PA
    me renvoie 200,5,48.875947,2.362394.

    je voudrais extraire les valeurs 48.875947 et 2.362394 et les mettre dans une variable php ou les insérer dans une table mysql.
    savez vous comment faire? merci

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    C'est très simple à faire :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $tachaine = "200,5,48.875947,2.362394";
    list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
    echo "Latitude : $latitude;<br />\n";
    echo "Longitude : $longitude;\n";
    ?>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    oui mais comment récuperer $tachaine? telle est la question...

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    En clair il faut te macher le travail
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $tachaine = filegetcontents("http://tonadresse.com");
    list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
    echo "Latitude : $latitude;<br />\n";
    echo "Longitude : $longitude;\n";
    ?>

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 185
    Points
    185
    Par défaut
    Si les premières valeurs ne t'intéressent pas tu peux faire comme ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list ( , , $latitude, $longitude) = split (",", $tachaine, 4);

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    merci pour la réponse
    je ne connaissais pas filegetcontents
    par contre il ne semble par reconnaitre cette fonction : j'ai le message
    "Fatal error: Call to undefined function: filegetcontents() "
    j'utilise easyphp, faut il ajouter une extension php spéciale?

    Merci

    Arnaud

  7. #7
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    c'est ton hébergeur qui a dû te supprimer l'activation de file_get_contents
    car ça peut amener des failles de sécurité...

    par contre je ne vois pas trop comment résoudre ton problème de récupèration des 2 variables sans cette commande...

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    en utilisant les alternatives à file_get_contents :
    - curl
    - snoopy
    - sockets

  9. #9
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    S'il utilise EasyPHP c'est que l'hébergeur c'est lui même !
    A lui de l'activer...
    Maintenant tu peux utiliser fgets() ou fread() ou encore avec PHP5 stream_get_contents()

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    en fait j'avais mis filegetcontents et non file_get_contents ca doit etre pour ca..car sur easyphp c'est une fonction standard.
    Par contre j'ai maintenant le message d'erreur


    Warning: file_get_contents(http://maps.google.com/maps/geo?q=75...u3bNbEGnk_PA): failed to open stream: Bad file descriptor in d:\test\index.php on line 22
    (sachant que la ligne 22 correspond au file_get_contents)
    Est ce que j'utilise mal cette fonction?

    j'ai utilisé le code de blueice

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $tachaine = file_get_contents("http://tonadresse.com");
    list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
    echo "Latitude : $latitude;<br />\n";
    echo "Longitude : $longitude;\n";
    ?>
    Merci

  11. #11
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    EDIT : Si tu commencais par rentrer l'url correcte ! Regarde la fin de l'url...

    Et teste ceci ca fonctionne parfaitement :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $url ="http://maps.google.com/maps/geo?q=75010+france&output=csv&key=ABQIAAAAal_cd43vOKPQhNkPDkwHgBQSXE4ITa1YzwIbIoQt-CisjCLm8xTJhtTXHvXoMcij_eu3bNbEGnk_PA";
    $tachaine = file_get_contents($url);
    if ($tachaine=="") { echo "Problème, chaîne vide"; }
    else {
    list ($var1, $var2, $latitude, $longitude) = split (",", $tachaine, 4);
    echo "Latitude : $latitude;<br />\n";
    echo "Longitude : $longitude;\n";
    }
    ?>

  12. #12
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Je crois qu'il faut paramétrer le serveur pour qu'il accepte d'ouvrir des URL. C'est le cas avec fopen, en tout cas.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 129
    Points : 47
    Points
    47
    Par défaut
    @blueice : évidemment j'avais mis la bonne url
    j'ai réessayé avec ton code et ca ne fonctionne pas:

    Warning: file_get_contents(http://maps.google.com/maps/geo?q=75...u3bNbEGnk_PA): failed to open stream: Bad file descriptor in d:\test\index.php on line 9
    Problème, chaîne vide

    j'ai aussi essayé en mettant des guillemets :
    $tachaine = file_get_contents('"' & $url & '"');
    mais j'ai un autre message d'erreur :

    Warning: file_get_contents( ): failed to open stream: Permission denied in d:\test\index.php on line 9
    Problème, chaîne vide


    A noter que le format de la chaine renvoyée par l'url est csv...je ne sais pas si ça a un rapport avec mon probleme?

  14. #14
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    http://fr.php.net/file_get_contents
    Et notamment :
    Vous pouvez utiliser une URL comme nom de fichier avec cette fonction, si l'option des "fopen wrappers" a été activée. Voyez fopen() pour plus de détails sur la façon de spécifier le nom du fichier et Annexe M, Liste des protocoles supportés pour une liste des protocoles URL supportés.

  15. #15
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Le code est correct, la preuve ici :
    http://www.dimension-internet.com/dev/google.php

    Par contre ton URL n'est pas correcte ! Je me répète !
    Enlève le ): à la fin de l'adresse !

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/02/2014, 15h50
  2. [WD14] Google map (latitude/longitude) et mysql
    Par Mimidoux dans le forum WinDev
    Réponses: 4
    Dernier message: 26/11/2009, 08h51
  3. Réponses: 2
    Dernier message: 06/10/2009, 14h22
  4. [Google Maps] Département et ville à partir de la longitude et latitude
    Par aurelientp dans le forum APIs Google
    Réponses: 2
    Dernier message: 04/08/2009, 10h52
  5. API Google maps latitude et longitude ?
    Par knoxville dans le forum Langage
    Réponses: 1
    Dernier message: 21/10/2008, 16h54

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