[javascript] 지도에서 특정 위치의 거리 측정하기

자바스크립트를 사용하여 지도에서 특정 위치의 거리를 측정하는 방법을 알아보겠습니다. 이를 위해 사용할 수 있는 Google Maps JavaScript API를 사용하겠습니다.

Google Maps JavaScript API 키 발급하기

먼저, Google Maps JavaScript API를 사용하기 위해서는 API 키가 필요합니다. 다음 단계를 따라서 API 키를 발급해보세요.

  1. Google Cloud Console에 접속합니다.
  2. 새 프로젝트를 생성하거나 기존 프로젝트를 선택합니다.
  3. 좌측 메뉴에서 “API 및 서비스” > “관리”를 선택합니다.
  4. “API 및 서비스 라이브러리”로 이동한 후 “Google Maps JavaScript API”를 검색하여 활성화합니다.
  5. 다시 좌측 메뉴에서 “API 및 서비스” > “사용자 인증 정보”를 선택합니다.
  6. “사용자 인증 정보 만들기” 버튼을 클릭하고 API 키를 선택합니다.
  7. API 키를 확인하고 필요한 경우 제한을 설정합니다.

자바스크립트 코드

이제, Google Maps JavaScript API 키를 발급했으니 거리를 측정할 위치를 표시할 수 있는 자바스크립트 코드를 작성해보겠습니다.

<!DOCTYPE html>
<html>
<head>
    <title>지도에서 특정 위치의 거리 측정하기</title>
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>
    <script>
        let map;

        function initMap() {
            // 지도 초기화
            map = new google.maps.Map(document.getElementById("map"), {
                center: { lat: 37.5665, lng: 126.9780 },
                zoom: 12,
            });

            // 거리 측정할 위치 표시
            const marker1 = new google.maps.Marker({
                position: { lat: 37.5665, lng: 126.9780 },
                map,
                title: "특정 위치 1",
            });

            const marker2 = new google.maps.Marker({
                position: { lat: 37.5660, lng: 127.0016 },
                map,
                title: "특정 위치 2",
            });

            // 거리 측정 객체 생성
            const distanceService = new google.maps.DistanceMatrixService();

            // 거리 측정 요청
            distanceService.getDistanceMatrix(
                {
                    origins: [{ lat: 37.5665, lng: 126.9780 }],
                    destinations: [{ lat: 37.5660, lng: 127.0016 }],
                    travelMode: google.maps.TravelMode.DRIVING,
                },
                (response, status) => {
                    if (status === "OK") {
                        const distance = response.rows[0].elements[0].distance.text;
                        alert("거리: " + distance);
                    } else {
                        alert("거리 측정에 실패하였습니다.");
                    }
                }
            );
        }
    </script>
</head>
<body>
    <div id="map" style="width: 400px; height: 300px;"></div>
</body>
</html>

위 코드에서 YOUR_API_KEY 부분에 발급받은 Google Maps JavaScript API 키를 입력해야 합니다.

위 코드를 HTML 파일에 복사하여 실행하면, 지도가 표시되고 특정 위치 1특정 위치 2라는 2개의 마커가 표시됩니다. 그리고 거리 측정 결과가 경고창으로 표시됩니다.

이제 지도에서 원하는 위치의 거리를 측정할 수 있습니다.

결론

이번 글에서는 자바스크립트를 사용하여 지도에서 특정 위치의 거리를 측정하는 방법을 알아보았습니다. Google Maps JavaScript API를 활용하여 다양한 위치들의 거리를 간단히 측정할 수 있습니다.

참고 자료: