> 웹 프론트엔드 > JS 튜토리얼 > Google Maps V3를 사용하여 두 점 사이의 거리를 계산하는 방법은 무엇입니까?

Google Maps V3를 사용하여 두 점 사이의 거리를 계산하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-29 09:09:13
원래의
984명이 탐색했습니다.

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

Google Maps V3를 사용하여 두 점 사이의 거리 결정

Google Maps V3에서 마커 사이의 거리 계산은 Haversine 공식을 활용하여 수행할 수 있습니다. .

하버사인 수식:

이 수식을 구현하려면 다음 단계를 수행할 수 있습니다.

var rad = function(x) {
  return x * Math.PI / 180;
};

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
};
로그인 후 복사

이 코드에서:

  • rad()는 도에서 라디안으로의 값입니다.
  • getDistance()는 다음을 사용하여 두 점 p1과 p2 사이의 거리를 계산합니다. Haversine 공식.
  • R은 지구의 평균 반경입니다.
  • dLat와 dLong은 두 지점의 위도와 경도의 차이입니다.
  • a는 중간 값입니다.
  • c는 중간값입니다.
  • d는 거리입니다. 미터.

위 내용은 Google Maps V3를 사용하여 두 점 사이의 거리를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿