Calculer la distance entre deux points
La distance entre deux points est la longueur du plus court chemin les séparant. Ce chemin le plus court est appelé géodésique. Sur une sphère, toutes les géodésiques sont des segments de grand cercle.
Pour calculer la distance séparant deux points, il suffit d'appeler la méthode statique computeDistanceBetween(), en lui passant :
- les coordonnées du point de
départ: objet LatLng, - les coordonnées du point d'
arrivée: objet LatLng.
La valeur retournée est un nombre.
Exemple :
var distance = google.maps.geometry.spherical.computeDistanceBetween(départ, arrivée)
/** * Dans cet exemple on souhaite calculer la distance séparant 2 points : * Point de départ : Tours, ayant pour latitude : 47.390273, et longitude : 0.688834 * Point d'arrivée : Lyon, ayant pour latitude : 45.764859, et longitude : 4.835036 */ var tours = new google.maps.LatLng(47.390273,0.688834); var lyon = new google.maps.LatLng(45.764859,4.835036); /** * Le résultat est affecté à la variable distance */ var distance = google.maps.geometry.spherical.computeDistanceBetween(tours, lyon);
Voir un exemple complet : Calculer la distance entre deux points avec computeDistanceBetween.
Calculer la longueur d'un chemin d'un tracé ou d'une polyline
La longueur d'un chemin ou d'un tracé peut être calculée depuis :
Chaque possibilité est détaillée ci-dessous.
LatLng
Pour calculer la longueur d'un chemin (parcours ou tracé), il suffit d'appeler la méthode statique computeLength() en lui passant :
- un
tableaude LatLng comportant tous les points nécessaires à la construction du tracé.
La valeur retournée est un nombre.
Exemple :
var distance = google.maps.geometry.spherical.computeLength(tableau_de_LatLng)
/** * Dans cet exemple on souhaite connaître la longueur * du chemin comportant plusieurs points passés sous * la forme d'un tableau de LatLng nommé tableauLatLng */ var tableauLatLng = [ new google.maps.LatLng(50.951019,1.859007), new google.maps.LatLng(48.389945,-4.485769), new google.maps.LatLng(43.483629,-1.558943), new google.maps.LatLng(42.695053,2.897987), new google.maps.LatLng(43.774410,7.49701), new google.maps.LatLng(48.973119,8.180351) ]; /** * Le résultat est affecté à la variable distance */ var distance = google.maps.geometry.spherical.computeLength(tableauLatLng);
Voir un exemple complet : Calculer la longueur d'un chemin avec computeLength et LatLng.
MVCArray
Le même calcul peut être effectué à l'aide de MVCArray. Dans ce cas, il suffit d'appeler la méthode statique computeLength() en lui passant :
- un
tableaude MVCArray comportant tous les points nécessaires à la construction du chemin.
La valeur retournée est un nombre.
Exemple :
var distance = google.maps.geometry.spherical.computeLength(tableau_MVCArray)
/** * Dans cet exemple on souhaite connaître la longueur * d'un chemin comportant plusieurs points passés sous * la forme d'un MVCArray nommé MvcArrayPerso */ var MvcArrayPerso = new google.maps.MVCArray(); MvcArrayPerso.push(new google.maps.LatLng(50.951019,1.859007)); MvcArrayPerso.push(new google.maps.LatLng(48.389945,-4.485769)); MvcArrayPerso.push(new google.maps.LatLng(43.483629,-1.558943)); MvcArrayPerso.push(new google.maps.LatLng(42.695053,2.897987)); MvcArrayPerso.push(new google.maps.LatLng(43.774410,7.49701)); MvcArrayPerso.push(new google.maps.LatLng(48.973119,8.180351)); /** * Le résultat est affecté à la variable distance */ var distance = google.maps.geometry.spherical.computeLength(MvcArrayPerso);
Voir un exemple complet : Calculer la longueur d'un chemin avec computeLength et MVCArray.
Polyline
Pour calculer la longueur d'une Polyline, il suffit d'appeler la méthode statique computeLength() en lui passant :
La valeur retournée est un nombre.
Exemple :
var distance = google.maps.geometry.spherical.computeLength(nom_de_la_polyline.getPath())
/**
* Dans cet exemple on souhaite connaître
* la longueur d'une Polyline
*/
/**
* Options de la polyline
*/
var optionsPolyline = {
map: maCarte,
path: tableauLatLng_OU_tableauMvcArray
}
/**
* Création de la polyline
*/
var maPolyline = new google.maps.Polyline(optionsPolyline);
/**
* Le résultat est affecté à la variable distance
*/
var distance = google.maps.geometry.spherical.computeLength(maPolyline.getPath());
Voir un exemple complet :
- Calculer la longueur d'une Polyline avec computeLength et LatLng
- Calculer la longueur d'une Polyline avec computeLength et MVCArray
Calculer la surface d'une boucle fermée ou d'un polygon
La surface d'une boucle fermée peut être calculée depuis :
Chaque possibilité est détaillée ci-dessous.
LatLng
Pour calculer la surface d'une boucle fermée, il suffit d'appeler la méthode statique computeArea(), en lui passant :
- un
tableaude LatLng définissant une boucle fermée.
La valeur retournée est un nombre.
Exemple :
var surface = google.maps.geometry.spherical.computeArea(tableau_de_LatLng)
/** * Dans cet exemple on souhaite calculer la surface * d'une boucle fermée dont chaque point est placé * dans un tableau de LatLng */ var tableauLatLng = [ new google.maps.LatLng(50.951019,1.859007), new google.maps.LatLng(48.389945,-4.485769), new google.maps.LatLng(43.483629,-1.558943), new google.maps.LatLng(42.695053,2.897987), new google.maps.LatLng(43.774410,7.49701), new google.maps.LatLng(48.973119,8.180351) ]; /** * Le résultat est affecté à la variable surface */ var surface = google.maps.geometry.spherical.computeArea(tableauLatLng);
Voir un exemple complet : Calculer une surface avec computeArea et LatLng.
MVCArray
Le même calcul peut être effectué à l'aide de MVCArray. Dans ce cas, il suffit d'appeler la méthode statique computeArea() en lui passant :
- un
tableaude MVCArray comportant tous les points nécessaires à la construction du chemin.
La valeur retournée est un nombre.
Exemple :
var surface = google.maps.geometry.spherical.computeArea(tableau_MVCArray)
/** * Dans cet exemple on souhaite calculer la surface * d'une boucle fermée dont chaque point est placé * dans un tableau MVCArray */ var MvcArrayPerso = new google.maps.MVCArray(); MvcArrayPerso.push(new google.maps.LatLng(50.951019,1.859007)); MvcArrayPerso.push(new google.maps.LatLng(48.389945,-4.485769)); MvcArrayPerso.push(new google.maps.LatLng(43.483629,-1.558943)); MvcArrayPerso.push(new google.maps.LatLng(42.695053,2.897987)); MvcArrayPerso.push(new google.maps.LatLng(43.774410,7.49701)); MvcArrayPerso.push(new google.maps.LatLng(48.973119,8.180351)); /** * Le résultat est affecté à la variable surface */ var surface = google.maps.geometry.spherical.computeArea(MvcArrayPerso);
Voir un exemple complet : Calculer une surface avec computeArea et MVCArray.
Polygon
Pour calculer la surface d'un Polygon, il suffit d'appeler la méthode statique computeArea en lui passant :
La valeur retournée est un nombre.
Exemple :
var surface = google.maps.geometry.spherical.computeArea(nom_du_polygone.getPath())
/**
* Dans cet exemple on souhaite calculer la surface
* d'une boucle fermée sous la forme d'un Polygone
*/
/**
* Options du polygone
*/
var optionsPolygone = {
map: maCarte,
path: tableauLatLng_OU_tableauMvcArray
}
/**
* Créatiion du polygone
*/
var monPolygone = new google.maps.Polygon({optionsPolygone});
/**
* Le résultat est affecté à la variable surface
*/
var surface = google.maps.geometry.spherical.computeArea(monPolygone.getPath());
Voir un exemple complet :
- Calculer la surface d'un Polygone avec computeArea et LatLng
- Calculer la surface d'un Polygone avec computeArea et MVCArray
