Maison > interface Web > js tutoriel > Comment calculer la distance entre deux points sur Google Maps V3 ?

Comment calculer la distance entre deux points sur Google Maps V3 ?

Susan Sarandon
Libérer: 2024-11-27 02:48:11
original
439 Les gens l'ont consulté

How to Calculate the Distance Between Two Points on Google Maps V3?

Calcul de la distance entre les points dans Google Maps V3

Dans Google Maps V3, la distance entre deux marqueurs peut être calculée à l'aide de la formule Haversine. Cette formule prend en compte la courbure de la Terre pour fournir une mesure précise de la distance.

Calcul de la distance

Pour calculer la distance entre deux points à l'aide de la formule Haversine, suivez ces étapes :

  1. Convertir les latitudes et longitudes des deux points en radians à l'aide du rad function :
var rad = function(x) {
  return x * Math.PI / 180;
};
Copier après la connexion
  1. Définir une fonction qui prend deux points en entrée et renvoie la distance qui les sépare en mètres :
var getDistance = function(p1, p2) {
  var R = 6378137; // Earth’s mean radius in meter
  var dLat = rad(p2.lat() - p1.lat());
  var dLong = rad(p2.lng() - p1.lng());
  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) *
    Math.sin(dLong / 2) * Math.sin(dLong / 2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  var d = R * c;
  return d; // returns the distance in meter
};
Copier après la connexion
  1. Appelez la fonction getDistance avec les deux points comme arguments. Le résultat sera la distance entre les deux points en mètres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal