[javascript] Reveal.js를 이용한 지도 및 위치 정보 표시하기

Reveal.js는 웹 기반의 프레젠테이션 도구로, HTML, CSS 및 JavaScript를 사용하여 다양한 슬라이드를 만들 수 있습니다. 이번 글에서는 Reveal.js를 사용하여 지도와 위치 정보를 표시하는 방법에 대해 알아보겠습니다.

Reveal.js 설치 및 설정

먼저 Reveal.js를 설치하고 설정해야 합니다. 아래의 명령어를 사용하여 Reveal.js를 다운로드합니다.

npm install reveal.js

그리고 다음과 같이 HTML 파일에 Reveal.js 스타일시트와 스크립트를 추가합니다.

<link rel="stylesheet" href="reveal.js/dist/reveal.css">
<script src="reveal.js/dist/reveal.js"></script>

지도 표시하기

Reveal.js에 지도를 표시하기 위해서는 지도 API를 사용해야 합니다. 예를 들어, Google Maps JavaScript API를 사용하여 지도를 표시할 수 있습니다.

먼저, Google Maps JavaScript API를 이용하기 위해 Google Maps API 키를 발급받아야 합니다. 발급받은 키를 사용하여 아래와 같이 HTML 파일에 스크립트를 추가합니다.

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>

그리고 다음과 같이 JavaScript 코드를 작성하여 지도를 표시할 수 있습니다.

<script>
  // Reveal.js 초기화 후, 지도 생성 함수 호출
  Reveal.addEventListener('ready', function() {
    initMap();
  });

  // 지도 생성 함수
  function initMap() {
    // 지도의 중심 좌표 설정
    var myLatLng = {lat: 37.5665, lng: 126.9779};

    // 지도 옵션 설정
    var mapOptions = {
      center: myLatLng,
      zoom: 8
    };

    // 지도 생성
    var map = new google.maps.Map(document.getElementById('map'), mapOptions);

    // 마커 생성
    var marker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      title: '서울'
    });
  }
</script>

위의 코드에서 YOUR_API_KEY를 발급받은 Google Maps API 키로 대체해야 합니다. 또한, #map은 지도가 표시될 HTML 요소의 ID입니다.

위치 정보 표시하기

Reveal.js를 사용하여 위치 정보를 표시하기 위해서는 위치 정보를 가진 데이터를 가져와야 합니다. 이러한 데이터는 주로 API를 통해 제공되며, 예를 들어 OpenWeatherMap API를 사용하여 날씨 정보를 가져올 수 있습니다.

다음과 같이 JavaScript 코드를 작성하여 위치 정보를 표시할 수 있습니다.

<script>
  // Reveal.js 초기화 후, 위치 정보 표시 함수 호출
  Reveal.addEventListener('ready', function() {
    showLocation();
  });

  // 위치 정보 표시 함수
  function showLocation() {
    // 위치 정보 가져오기
    fetch('https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_API_KEY')
      .then(function(response) {
          return response.json();
      })
      .then(function(data) {
          // 위치 정보를 기반으로 정보 표시
          var locationElement = document.getElementById('location');
          locationElement.textContent = data.name;
      });
  }
</script>

위의 코드에서 YOUR_API_KEY를 발급받은 OpenWeatherMap API 키로 대체해야 합니다. 또한, #location은 위치 정보를 표시할 HTML 요소의 ID입니다.

결론

이번 글에서는 Reveal.js를 이용하여 지도 및 위치 정보를 표시하는 방법에 대해 알아보았습니다. Reveal.js와 지도 API 및 위치 정보 API를 조합하여 다양한 프레젠테이션을 만들 수 있으며, 이를 통해 정보 전달과 시각화를 효과적으로 할 수 있습니다.