Google Maps (Distance)

cs_kakoo
Messages postés
27
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
7 février 2009
- 25 janv. 2008 à 18:03
cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
- 27 janv. 2008 à 19:23
Bonjour,

J'ai beau chercher, je n'arrive pas à trouver de classes (ou un bout de source) me permettant de récupérer la distance (voir le temps de parcours) générée par l'API Google Maps.

L'idée est de rentrer une adresse de départ, puis une adresse d'arivée, d'effectuer une requête auprès de Google, puis de récupérer les informations retournée par l'API.

J'ai déjà le script pour un calcul "classique" entre deux points dont on connait la longitude et la latitude, mais là, sur la distance réelle, je sèche. Qui a une idée ou une solution ?

Merci d'avance.

7 réponses

cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
18
27 janv. 2008 à 12:55
La classe GLatLng qui représente un point contient une méthode distanceFrom qui calcule la distance en mètre avec un autre point :
http://code.google.com/apis/maps/documentation/reference.html#GLatLng
0
cs_kakoo
Messages postés
27
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
7 février 2009

27 janv. 2008 à 15:16
Bonjour,

Merci pour cette réponse, mais, à moins que je n'ai rien compris, cette méthode donne la distance entre deux points représentés par une latitude, longitude, pas la distance exacte du trajet, comme celle retournée, avec le temps de trajet, lors ).

J'ai bien vu la péthode GDirections, mais je ne vois pas comment récupérer, ensuite, l'information sous un script PHP.

Merci
0
cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
18
27 janv. 2008 à 17:01
La classe GDirection contient un ensemble de routes (réponse à une requête au géocodeur) qui peuvent être récupérée par la méthode getRoute(i), avec i = index de la route.
La classe GRoute dispose d'une méthode getDistance() qui permet de calculer la distance totale de la route et d'une méthode getDuration() qui permet de calculer la durée du trajet.
0
cs_kakoo
Messages postés
27
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
7 février 2009

27 janv. 2008 à 17:26
Bonjour,

Tu as un exemple de code quelque part pour exploiter ça en PHP ?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
18
27 janv. 2008 à 18:20
La documentation officielle contient l'essentiel.
Si tu veux rentrer dans les détails tu peux lire le Google Maps API Tutorial de la Blackpool Community Church Javascript Team, ou consulter la liste des extensions disponibles.
Sinon il existe un groupe de discussion spécialisé dans Google Maps où tu pourras poser toutes tes questions. (version américaine)

L'API Google Maps est une API Javascript. Il n'est pas nécessaire d'envoyer une requête au serveur hébergeant ton application pour envoyer une requête au géocodeur Google. Tu n'auras pas besoin de PHP pour calculer un trajet (routes, étapes, distance et durée). Il faut lire la documentation officielle et surtout le descriptif des classes GDirection et GRoute.
0
cs_kakoo
Messages postés
27
Date d'inscription
jeudi 26 juin 2003
Statut
Membre
Dernière intervention
7 février 2009

27 janv. 2008 à 18:46
En fait, je veux récupérer la distance et le temps pour calculer un prix de revient de déplacement, avec des informations qui sont stockées dans une base MySQL.

Il faut donc bien que j'ai quelque part un script en PHP. Je peux aussi faire de l'AJAX, mais pour récupérer de  ce que retournera l'API, je vois pas...

Je vais donc "gratter" sur les liens que tu m'as donné.

Encore merci.
0
cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
18
27 janv. 2008 à 19:23
0