Utilisation de Google Maps

Signaler
Messages postés
14
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
4 décembre 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Salut tout le monde,Si c'est possible je cherche un code qui me permet de calculer une distance routière entre 2 villes via Google Maps

merci d'avance

5 réponses

Messages postés
14
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
4 décembre 2013

Je possède une base de donnée contenant toutes les villes, les altitudes et longititude

Bonjour,

Sers toi de l'API .NET Google Map
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
Bonjour maher23,

Je suppose que tu as fait un lapsus, c'est plutôt latitudes qu'altitudes !
Outre l'API de Google Maps il y a quantité de formules sur le Net pour ce genre de calcul.
Entre autres :
http://www.movable-type.co.uk/scripts/latlong.html
http://mwlandry.ca/famille/etudes/calcul_distance.htm

Tout dépend de la précision que tu veux et quelle epsilloïde de référence comptes-tu utiliser. Normalement c'est WGS84.
Une bonne précision est obtenue avec la méthode de Vincenty. Celle de Haversine est encore plus précise.

Cheyenne
Messages postés
63
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2013

Je n'en suis pas l'auteur mais voici deux fonctions qui te permettront de calculer la distance en deux coordonnées géographiques.
Public Function DistanceP2P(ByVal gLatitude1 As Double, ByVal gLongitude1 As Double, ByVal gLatitude2 As Double, ByVal gLongitude2 As Double) As Double
Dim gRayonMoyen As Integer
Dim gDistance As Double
DistanceP2P = 0
gRayonMoyen = 6371 ' Rayon moyen de la terre, en kms
PI = 4 * Atn(1) 'Nombre PI que j'aime à faire connaître un nombre util aux sages etc...
' Convertion des degrés en radians
gLatitude1 = Round((gLatitude1 * Pi) / 180, 10)
gLongitude1 = Round((gLongitude1 * Pi) / 180, 10)
gLatitude2 = Round((gLatitude2 * Pi) / 180, 10)
gLongitude2 = Round((gLongitude2 * Pi) / 180, 10)
' Calcul
gDistance = Round(ACos((Sin(gLatitude1) * Sin(gLatitude2)) + (Cos(gLatitude1) * Cos(gLatitude2) * Cos(gLongitude1 - gLongitude2))) * gRayonMoyen, 8)
' Résultat
DistanceP2P = gDistance * 1000
End Function

Private Function ACos(AngleRadian As Double) As Double
On Error GoTo GestErr
If AngleRadian <> 1 Then
ACos = Atn((AngleRadian * (-1)) / Sqr(((AngleRadian * (-1)) * AngleRadian) + 1)) + (Pi / 2)
Else
ACos = 0
End If
Exit Function
GestErr:
Debug.Print "Function ACos" & "/" & Err.Description
Err.Clear
On Error GoTo 0
End Function
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
227
Bonjour, Multiprise,
relis donc :
... calculer une distance routière
entre 2 villes ...

Hein ...

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.