[react] 지도에서 사용자 이동 경로 표시하기

1. React 지도 라이브러리 선택

먼저, React에서 지도를 표시하고 이동 경로를 표시할 수 있는 라이브러리를 선택해야 합니다. 예를 들어, react-leaflet이나 react-google-maps와 같은 라이브러리를 활용할 수 있습니다.

2. 사용자 위치 추적

사용자의 이동 경로를 표시하기 위해서는 먼저 사용자의 실시간 위치를 추적해야 합니다. 이를 위해 Geolocation API를 활용하여 사용자의 위치를 추적합니다.

예를 들어, 다음과 같이 Geolocation API를 사용하여 사용자의 위치를 추적할 수 있습니다.

navigator.geolocation.watchPosition((position) => {
  const { latitude, longitude } = position.coords;
  // 이동 경로 표시 로직 구현
});

3. 이동 경로 표시

추적한 사용자의 위치를 기반으로 이동 경로를 표시할 수 있습니다. 선택한 지도 라이브러리의 API를 이용하여 경로를 실시간으로 표시할 수 있습니다.

예를 들어, react-leaflet을 사용한다면 다음과 같이 이동 경로를 Polyline으로 표시할 수 있습니다.


import { MapContainer, TileLayer, Polyline } from 'react-leaflet';

// ...

const polyline = [
  [startLatitude, startLongitude], // 시작 지점 좌표
  [currentLatitude, currentLongitude], // 현재 위치 좌표
  // 추가 위치 좌표
];

// ...

<MapContainer center={[initialLatitude, initialLongitude]} zoom={13}>
  <TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
  <Polyline pathOptions={{ color: 'blue' }} positions={polyline} />
</MapContainer>

4. 추가 기능

사용자의 이동 경로를 표시하는 기능 외에도, 다양한 추가 기능을 구현할 수 있습니다. 예를 들어, 경로의 거리 및 시간 계산, 특정 위치 점프 기능 등을 추가할 수 있습니다.

위와 같은 방법으로 React를 사용하여 지도에서 사용자의 이동 경로를 표시할 수 있습니다. 여기서는 react-leaflet을 예시로 설명했지만, 다른 라이브러리를 사용하는 경우에도 비슷한 절차로 구현할 수 있습니다.