Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1808 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Quelle API pour utiliser les données de localisation ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Quelle API pour utiliser les données de localisation ?

n°2222411
Dawa
www.shootmeagain.com
Posté le 16-03-2014 à 07:44:43  profilanswer
 

Bonjour,
 
J'aimerais comprendre comment utiliser les données de localisation d'un visiteur (sur un PC ou un smartphone) pour calculer la distance entre lui et une adresse donnée. L'API Google Maps a l'air puissante mais je ne suis pas certain qu'elle fasse réellement ce que je cherche.  
 
Dans l'idéal, je devrais être capable d'entrer dans la BD une adresse, et qu'elle soit traduite (je suppose) en latitude et longitude ? Je pensais trouver ça rapidement mais bizaremment, je peine. L'inverse semble plus simple avec l'API Google Maps : http://fr.openclassrooms.com/infor [...] oogle-maps où on voit que selon une latitude et une longitude, l'adresse est trouvée.  
 
Et dans le même principe, sous quelle forme devrais-je stocker l'adresse dans la BD, y a-t-il une syntaxe précise et un ordre à respecter (pays - zip code - ville - rue - numéro ou autre) ?  
 
Last but not least, la géolocalisation d'une IP dynamique est-elle plus ou moins fiable ? J'ai l'impression que dans mon cas, ça me localise souvent dans ma région mais à 20-25km de distance quand même.
 
Merci pour vos infos !  
 
Bonne journée  [:dawa]


---------------
SHOOT ME AGAIN WEBZINE
mood
Publicité
Posté le 16-03-2014 à 07:44:43  profilanswer
 

n°2222646
Dawa
www.shootmeagain.com
Posté le 19-03-2014 à 10:45:17  profilanswer
 

[:moule_bite]

n°2222673
czh
Posté le 19-03-2014 à 23:31:55  profilanswer
 

Dawa a écrit :

Je pensais trouver ça rapidement mais bizaremment, je peine. L'inverse semble plus simple avec l'API Google Maps : http://fr.openclassrooms.com/infor [...] oogle-maps où on voit que selon une latitude et une longitude, l'adresse est trouvée. [:dawa]


 
Si tu veux utiliser l'API google maps, il vaut mieux consulter la documentation officielle qui liste toutes les fonctionnalités et options de l'API : https://developers.google.com/maps/ [...] ing/?hl=fr
(il y a notamment des options pour délimiter la recherche)
Ca marche plutôt bien pour les villes. Mais pour trouver une rue c'est comme sur Google maps, il vaut mieux avoir l'adresse complète et précise sans fautes d'orthographe, sachant que les villes ont pleins de noms de rue en commun.
 

Dawa a écrit :

Et dans le même principe, sous quelle forme devrais-je stocker l'adresse dans la BD, y a-t-il une syntaxe précise et un ordre à respecter (pays - zip code - ville - rue - numéro ou autre) ?


 
Ca dépend de ta/tes base(s) de donnée(s) : type de base données, priorité lecture ou écriture, degré de (dé)normalisation, arborescence etc.
Le principal c'est d'avoir toujours toutes les données d'origine à disposition. Si Google Maps ferme l'accès à son API, il ne faut pas en être dépendant.
 

Dawa a écrit :

Last but not least, la géolocalisation d'une IP dynamique est-elle plus ou moins fiable ? J'ai l'impression que dans mon cas, ça me localise souvent dans ma région mais à 20-25km de distance quand même.
 


 
Même une IP statique n'est pas géographiquement précise. La précision géographique d'une IP c'est le pays. La base qui contient les informations concernant les IP doit être régulièrement mise à jour, ces informations périment extrêmement vite.
Le seul truc à peu près fiable automatiquement récupérable, c'est la localisation géographique dans le navigateur d'un smartphone : http://www.w3schools.com/html/html5_geolocation.asp


Message édité par czh le 19-03-2014 à 23:45:02
n°2222976
Dawa
www.shootmeagain.com
Posté le 24-03-2014 à 13:00:54  profilanswer
 

Cool je vais me pencher là-dessus !  
 
Merci ! :)

n°2223522
Dawa
www.shootmeagain.com
Posté le 30-03-2014 à 21:50:46  profilanswer
 

Bonjour !
 
Question sans doute un peu naze mais bon :  
 
En rentrant l'adresse dans le truc json de l'API Google Maps, comme ceci :  
 
https://maps.googleapis.com/maps/ap [...] ey=API_KEY
 
On obtient ceci :  
 

Code :
  1. {
  2.   "status": "OK",
  3.   "results": [ {
  4.     "types": [ "locality", "political" ],
  5.     "formatted_address": "Winnetka, IL, USA",
  6.     "address_components": [ {
  7.       "long_name": "Winnetka",
  8.       "short_name": "Winnetka",
  9.       "types": [ "locality", "political" ]
  10.     }, {
  11.       "long_name": "Illinois",
  12.       "short_name": "IL",
  13.       "types": [ "administrative_area_level_1", "political" ]
  14.     }, {
  15.       "long_name": "United States",
  16.       "short_name": "US",
  17.       "types": [ "country", "political" ]
  18.     } ],
  19.     "geometry": {
  20.       "location": {
  21.         "lat": 42.1083080,
  22.         "lng": -87.7417070
  23.       },
  24.       "location_type": "APPROXIMATE",
  25.       "viewport": {
  26.         "southwest": {
  27.           "lat": 42.0917501,
  28.           "lng": -87.7737218
  29.         },
  30.         "northeast": {
  31.           "lat": 42.1248616,
  32.           "lng": -87.7096922
  33.         }
  34.       },
  35.       "bounds": {
  36.         "southwest": {
  37.           "lat": 42.0885320,
  38.           "lng": -87.7715480
  39.         },
  40.         "northeast": {
  41.           "lat": 42.1284090,
  42.           "lng": -87.7110160
  43.         }
  44.       }
  45.     }
  46.   } ]
  47. }


 
Mais comment puis-je en extraire seulement une ou deux valeurs, dans mon cas la latitude et longitude exacte ?  
 
Merci !


---------------
SHOOT ME AGAIN WEBZINE
n°2223554
gilou
Modérateur
Modzilla
Posté le 31-03-2014 à 13:00:57  profilanswer
 

Je fais pas de PHP, mais a vue de nez c'est $obj = json_decode ( $json, true ) puis recuperer $obj->{'results'}[0]->{'geometry'}{'location'}{'lat'} et $obj->{'results'}[0]->{'geometry'}{'location'}{'lng'} ou un truc du genre (ma notation serait celle utilisée en Perl, alors en PHP ça ne doit guère être différent).
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2223556
Dawa
www.shootmeagain.com
Posté le 31-03-2014 à 13:10:33  profilanswer
 

Ouiiii ok, le résultat est une sorte de tableau multidimensionnel en quelque sorte... je vais tenter de cette façon alors, merci beaucoup !  [:dawa]


---------------
SHOOT ME AGAIN WEBZINE

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Quelle API pour utiliser les données de localisation ?

 

Sujets relatifs
Lire données pas à pas dans un fichier et stocker dans variablesExtraire les données entre une balise span sur site externe
[AIDE] code HTML/PHP formulaire avec envoi mail automatiqueExtraction/copie de données selon plusieurs critères
PHP problème de code[PHP] tableau vide
Rendre comme liens les résultats d'une BDD pris avec PHPPHP + JavaScript/Jquery
[C++] utiliser des classes dans mon codeIntégrer l'autocomplete de Google Places API sur un site Joomla
Plus de sujets relatifs à : [PHP] Quelle API pour utiliser les données de localisation ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR