[react] 지도에서 행사장 정보 표시하기
React 애플리케이션에서 지도를 사용하여 행사장의 정보를 표시하는 방법에 대해 알아보겠습니다.
지도 라이브러리 선택
지도를 표시하기 위해 React에서는 일반적으로 react-leaflet
을 사용합니다. 이 라이브러리는 Leaflet.js를 React 애플리케이션에 통합할 수 있는 편리한 방법을 제공합니다.
npm install react-leaflet leaflet
지도 컴포넌트 생성
먼저, 지도를 표시할 컴포넌트를 생성합니다.
import React from 'react';
import { MapContainer, TileLayer, Marker, Popup } from 'react-leaflet';
function EventMap({ eventLocation }) {
const { lat, lng, name } = eventLocation;
return (
<MapContainer center={[lat, lng]} zoom={13} style={{ height: '400px', width: '100%' }}>
<TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
<Marker position={[lat, lng]}>
<Popup>{name}</Popup>
</Marker>
</MapContainer>
);
}
export default EventMap;
위 코드에서 eventLocation
은 행사장의 위치 정보를 포함하는 객체입니다. 해당 위치 정보를 사용하여 지도의 중심을 설정하고, 해당 위치에 마커와 팝업을 표시합니다.
행사 정보와 연동
이제 이 EventMap
컴포넌트를 행사 정보 컴포넌트와 연동하여 사용할 수 있습니다.
import React from 'react';
import EventMap from './EventMap';
function EventDetails({ eventData }) {
const { location } = eventData;
return (
<div>
<h2>{eventData.title}</h2>
<p>{eventData.description}</p>
<EventMap eventLocation={location} />
</div>
);
}
export default EventDetails;
위 코드에서 eventData
는 행사 정보를 포함하는 객체로, location
속성에는 위도, 경도 및 행사장 이름과 같은 정보가 포함됩니다.
결론
이제 React 애플리케이션 내에서 react-leaflet
을 사용하여 지도를 표시하고, 행사장의 정보를 마커와 팝업을 통해 시각적으로 표현하는 방법에 대해 알아보았습니다. 지도를 통해 행사장의 위치 정보를 사용자에게 시각적으로 제공할 수 있으며, 사용자들은 행사장의 위치를 쉽게 확인할 수 있습니다.
Reference: