[javascript] 자바스크립트와 Mapbox를 이용한 지도에서 동적인 컨텐츠 추가하기

이 글에서는 자바스크립트와 Mapbox를 사용하여 동적인 컨텐츠를 지도에 추가하는 방법에 대해 알아보겠습니다.

1. Mapbox SDK 설치하기

먼저, Mapbox를 사용하기 위해 Mapbox SDK를 설치해야 합니다. Mapbox SDK는 다양한 지도 기능을 제공하며, 자바스크립트와 함께 사용할 수 있습니다.

Mapbox SDK를 설치하기 위해서는 Mapbox 공식 웹사이트에서 계정을 만들고, 액세스 토큰을 발급받아야 합니다.

2. HTML 문서에 지도 컨테이너 추가하기

지도를 표시하기 위해 HTML 문서에 지도 컨테이너를 추가해야 합니다. 이 컨테이너는 지도가 표시될 영역을 정의하는 역할을 합니다.

<div id="map"></div>

3. 자바스크립트 코드로 지도 생성하기

지도를 생성하기 위해 자바스크립트 코드를 작성해야 합니다. 이 코드는 지도 컨테이너를 찾고, Mapbox SDK를 사용하여 지도를 생성하는 역할을 합니다.

mapboxgl.accessToken = 'YOUR_ACCESS_TOKEN';

var map = new mapboxgl.Map({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v11',
  center: [longitude, latitude],
  zoom: zoomLevel
});

위의 코드에서 ‘YOUR_ACCESS_TOKEN’ 부분에는 앞서 발급받은 Mapbox 액세스 토큰을 넣어야 합니다. 또한, center와 zoom 부분은 지도가 처음에 표시될 위치와 줌 레벨을 설정합니다.

4. 동적인 컨텐츠 추가하기

이제 지도 위에 동적인 컨텐츠를 추가할 수 있습니다. 예를 들어, 지정된 위치에 마커를 추가하고 정보 창을 표시하는 방법을 살펴보겠습니다.

var marker = new mapboxgl.Marker()
  .setLngLat([longitude, latitude])
  .addTo(map);

var popup = new mapboxgl.Popup()
  .setHTML('<h3>마커 정보</h3><p>이곳에 위치에 대한 설명이 들어갑니다.</p>')
  .addTo(map);

marker.setPopup(popup);

위의 코드는 주어진 경도와 위도에 마커를 생성하고, 해당 위치에 정보 창을 연결하는 기능을 수행합니다. setHTML 메소드는 정보 창의 내용을 지정하며, 마커를 클릭하면 정보 창이 표시됩니다.

5. 결과 확인하기

위의 코드를 모두 작성한 후 HTML 문서를 실행하면 Mapbox를 사용하여 동적인 컨텐츠가 추가된 지도가 표시됩니다.

이렇게 자바스크립트와 Mapbox를 사용하여 지도에 동적인 컨텐츠를 추가하는 방법에 대해 알아보았습니다. Mapbox는 다양한 기능을 제공하므로, 필요에 따라 자세한 문서와 예제를 참조하시기 바랍니다.

참고 자료