Récupérer latitude et longitude de capitales

Résolu/Fermé
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 23 nov. 2017 à 10:26
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 23 nov. 2017 à 19:06
Bonjour,
dans le but de progresser en C++, je travaille sur un programme qui récupère les différents pays et leur capitale depuis le site https://www.eguens.com/cours/les-capitales-du-monde/

Cette étape étant finalisée, je souhaiterai récupérer la latitude et la longitude de chacune des capitales (de façon "automatisée" soit 166 recherches), ce qui me mène à de la "manipulation" de code HTML et donc à du JQuerry ou JS; ma question est donc : y'a-t-il un moyen de rester en C++ ou dois-je rechercher comment lier mon programme C++ avec du JQuerry/JS ?

PS : voici l'image de l'analyse que j'ai faite de google map via le site https://www.coordonnees-gps.fr/

et si vous avez des informations sur d'éventuelles restrictions d'utilisation de bots, je prends volontier


1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
23 nov. 2017 à 11:52
Bonjour,

la "manipulation" de code HTML et donc à du JQuerry ou JS
Euh non... ça c'est uniquement si tu veux faire de l'affichage sur un navigateur web, mais quand tu es dans un programme tu manipules le code HTML directement comme un fichier texte.
1
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
Modifié le 23 nov. 2017 à 14:08
mais j'ai bel et bien besoin de modifier le placeholder pour lancer la fonction codeAddress() avec le nom de ville pour récupérer sa latitude et sa longitude non ?

Cordialement,  Debutant en webmastering
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019 > Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
Modifié le 23 nov. 2017 à 14:27
Que se passe-t-il quand tu appuies sur le bouton ?
Tu envoies une requête au serveur qui te réponds...
Si un navigateur web peut le faire ton programme peut le faire aussi.

Exemple avec le site que tu as cité plus haut, je prends la première case "Adresse" qui est préremplie avec "Paris, France" et j'appuie sur "Obtenir les coordonnées GPS"

Ça envoie une requête HTTP comme ceci :

https://maps.googleapis.com/maps/api/js/GeocodeService.Search?4sParis%2C_France=&7sUS&9sfr&key=AIzaSyAwwiD-CR-NiRz5MBBUlHsFC9lTtMwGMVY&callback=_xdc_._9clhwf&token=18218

Et ça me donne une réponse en JSON :

/* */_xdc_._9clhwf && _xdc_._9clhwf( {
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Paris",
               "short_name" : "Paris",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Paris",
               "short_name" : "Paris",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Île-de-France",
               "short_name" : "Île-de-France",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "France",
               "short_name" : "FR",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Paris, France",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 48.9021449,
                  "lng" : 2.4699208
               },
               "southwest" : {
                  "lat" : 48.815573,
                  "lng" : 2.224199
               }
            },
            "location" : {
               "lat" : 48.856614,
               "lng" : 2.3522219
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 48.9021449,
                  "lng" : 2.4699208
               },
               "southwest" : {
                  "lat" : 48.815573,
                  "lng" : 2.224199
               }
            }
         },
         "place_id" : "ChIJD7fiBh9u5kcRYJSMaMOCCwQ",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}
 )

Ce format est facilement interprétable par le navigateur ou n'importe quel autre programme, les informations qui sont affichées ensuite correspondent à cette partie :

            "location" : {
               "lat" : 48.856614,
               "lng" : 2.3522219
            },

Quant à ta question "et si vous avez des informations sur d'éventuelles restrictions d'utilisation de bots, je prends volontier", il y a une clé key=AIzaSyAwwiD-CR-NiRz5MBBUlHsFC9lTtMwGMVY transmise dans la requête.
Cela correspond à un compte souscrit par ce site auprès de maps.googleapis.com, pour ton programme il faudrait que tu ais ta propre clé.

Plus d'information directement sur le site de Google Maps API :
https://cloud.google.com/maps-platform/
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
23 nov. 2017 à 16:59
merci beaucoup pour toutes ces précisions, je vais étudier ça en détail
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
23 nov. 2017 à 17:40
tu as l'air de bien t'y connaître alors si possible, j'aimerais ton avis afin de savoir si ça vaut le coup que je me penche sur tous les détails "juridiques" de l'utilisation de l'API Google Maps Geocoding pour récupérer 166 couples latitude/longitude et me permettre un calcul de distances entre 2 d'entre-elles au choix (c'est le but de mon programme débuté pour m'entraîner)
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
23 nov. 2017 à 18:00
"Juridiquement" l'utilisation de l'API Google c'est t'accepte les conditions et au pire ils suppriment ton compte un jour et ça ne marche plus.

Dans la version standard à usage non commercial tu as droit à 2500 requêtes/jour.
https://cloud.google.com/maps-platform/pricing#details
C'est largement suffisant pour ton besoin.

Après ça c'est si tu veux faire comme le fait le site dont tu parlais au départ, donc via une utilisation de web service, ce qui évitant de brancher du jQuery sur une application C++ (ce qui ferait vraiment bizarre)

Ceci dit, si c'est juste pour avoir le résultat des calculs, sans l'intérêt technologique de mettre en place ce genre de web services, tu peux calculer la distance toi même en quelques lignes de codes...

https://docs.microsoft.com/en-us/archive/blogs/ogdifrance/de-la-go-et-des-maths
0