Posez votre question Signaler

PHP: Recherche avec rayon de distance(en km)

Pascal_22 536Messages postés lundi 20 mars 2006Date d'inscription 29 août 2014 Dernière intervention - Dernière réponse le 23 août 2010 à 13:55
Bonjour,
Sur plusieurs site, souvent on a la possibilité de faire une recherche avec la distance(en kilomètre).
Je me demandais, comment fait-on pour sortir les résultats avec comme par exemple 20km a la ronde??
J'aimerais comprendre comme les site peuvent faire cela?
Merci!
Pascal_22
Lire la suite 
Réponse
+2
moins plus
Exemple en PHP sur ce site sur base de l'API Google Maps :

http://www.astucesdewebmaster.com/...

ça te donne la distance en kilomètres par la route entre un point A et un point B
Ajouter un commentaire
Réponse
+0
moins plus
il te faut les coordonnées GPS des lieux que tu souhaites intégré dans ta recherche. Après on a la coordonnée du client qui doit fournir. Puis tu fait un petit calcul de distance avec les 2 coordonnées.

http://www.abe.msstate.edu/~fto/calculator/converte.html
Ajouter un commentaire
Réponse
+0
moins plus
Oui !
Avec la latitude et la longitude, des calculs basés sur sin et cos, ca se fait facilement (je peux dire ca pour l'avoir déjà fait ^^)
Ajouter un commentaire
Réponse
+0
moins plus
Merci pour votre réponse.

J'ai une base de donnée avec la ville, le pays de mes membres. Je n'ai pas le code postal :( (Je fais les modifs pour ajouter un champs code postal)

Pour trouver la longitude/lattitude, est-ce que je dois vraiment avoir le code postal ou avec la ville et le pays ça fonctionne?

Est-ce que google Map API serait correct pour ce que je veux faire en sachant que mon site est en phpo et mysql?

Merci!

PAscal_22
Ajouter un commentaire
Réponse
+0
moins plus
Oui oui, ayant déjà utilisé aussi googlemap pour un site, tu peux l'utiliser pour ce que tu veux faire

par contre, si tu as juste la ville et le pays, il risque d'y avoir des erreurs, il vaut mieux ajouter le code postal pour être certain de bien pointer sur la bonne ville (il me semble n'y avoir aucun doublons dans les noms de ville en France, maintenant je ne sais pas si c'est le cas partout)
Ajouter un commentaire
Réponse
+0
moins plus
Merci pour votre réponse si rapide!

Je suis en train de lire la doc de google geocoding.

Au départ, ce que je croyais c'est de trouver la latitude/longitude du membre et de la mettre dans un champs(de type point) mais regarder ce que google dit:

Note: the geocoding service may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited. For complete details on allowed usage, consult the Maps API Terms of Service License Restrictions.

Si je comprends bien, je dois obligatoirement afficher le résustat sur une map?

Sauf que moi, je voulais garder les infos dans la base pour une future recherche? et non l'afficher, car je vais m'en servir que pour les membres trouvent les autres membres prêt de chez eux??

Est-ce que j'ai bien compris ou non??

Merci !

Pascal_22
Ajouter un commentaire
Réponse
+0
moins plus
Si t'utilises l'API googlemap t'es en effet obligé d'afficher la carte XD
(heureusement d'ailleurs, se feraient bien avoir chez google sinon ^^)

Mais tu veux juste récupérer les longitude / latitude ?
y'a des CSV qui répertorient ttes les villes de france, avec comme champs le nom, département, code postal, longitude, latitude. Tu stockes tt en BDD, et du coup t'as même pas besoin de t'embêter avec l'API googlemap ^^
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour!

D'accord, mais le problème est que mon site en à travers la planète et non seulement sur la france.

Exist-il autre chose comme comme l'utilitaires google mais que je peux seulement récupéré les info lat/long. ??

Merci !

Pascal_22
Ajouter un commentaire
Réponse
+0
moins plus
Je connais pas trop, mais y'a l'API yahoo geocoding :
http://developer.yahoo.com/maps/rest/V1/geocode.html
Ajouter un commentaire
Réponse
+0
moins plus
Ok je vais vérifier.

Mais c'est sur que ça existe, plein de site (annonce,rencontre ...) utilise sans même afficher de carte !!

Merci!
Quelqu'un serait-il au courant? --->d'un géocode(ou autre) pour qye je puisse récupérer la longitude/lattitude sans avoir à l'afficher sur une carte.

Pascal_22
Ajouter un commentaire
Ce document intitulé «  PHP: Recherche avec rayon de distance(en km)  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.