ホームページ >ウェブフロントエンド >jsチュートリアル >Google マップ V3 で 2 点間の距離を計算するにはどうすればよいですか?

Google マップ V3 で 2 点間の距離を計算するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 02:48:11401ブラウズ

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

Google マップ V3 でのポイント間の距離の計算

Google マップ V3 では、ハバーサイン公式を使用して 2 つのマーカー間の距離を計算できます。この式では、正確な距離測定を行うために地球の曲率が考慮されています。

距離の計算

ハバーサインの公式を使用して 2 点間の距離を計算するには、次の手順に従います。手順:

  1. 2 点の緯度と経度を次のように変換します。関数 rad を使用したラジアン:
var rad = function(x) {
  return x * Math.PI / 180;
};
  1. 2 つの点を入力として受け取り、それらの間の距離をメートル単位で返す関数を定義します:
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
};
  1. 2 つの点を引数として getDistance 関数を呼び出します。結果は、2 点間の距離 (メートル単位) になります。

以上がGoogle マップ V3 で 2 点間の距離を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。