Leaflet으로 웹 사이트에 지도 띄우기
Leaflet
Leaflet은 오픈소스 자바스크립트 라이브러리로, 다양한 종류의 지도 데이터를 웹에서 쉽게 표출할 수 있도록 돕는 도구이다. Leaflet은 경량화되어 빠르고, 모바일 친화적인 지도 서비스를 제공한다.
- 다양한 지도 타일 제공: OpenStreetMap, Mapbox, Google Maps 등 다양한 지도 타일을 사용할 수 있다.
- 마커, 팝업, 폴리라인, 폴리곤 등 다양한 지도 요소를 추가할 수 있다.
- 상호작용: 지도 이동, 확대/축소, 마커 클릭 등 다양한 이벤트를 처리할 수 있다.
Leaflet 기본 지도 띄우기
Leaflet을 사용하기 위해서는 HTML 파일에 Leaflet의 CSS와 JavaScript 파일을 포함해야 한다. CDN을 사용해 간단히 Leaflet을 불러올 수 있다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Leaflet 지도 예제</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
<style>
/* 지도 크기 설정 */
#map {
height: 30vh; /* 화면 전체를 지도에 할당 */
}
</style>
</head>
<body>
<!-- 지도가 표시될 div -->
<div id="map"></div>
<script>
// 지도 초기화 (위도, 경도, 줌 레벨 설정)
var map = L.map('map').setView([37.5665, 126.9780], 13);
// OpenStreetMap 타일 레이어 추가
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
// 지도에 마커 추가 (서울 위치)
L.marker([37.5665, 126.9780]).addTo(map)
.bindPopup('서울, 대한민국') // 마커 클릭 시 팝업 표시
.openPopup();
</script>
</body>
</html>
L.map('map').setView([37.5665, 126.9780], 13)
: 지도를 초기화하고, 서울의 위도와 경도를 중심으로 설정한다.L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
: OpenStreetMap의 타일 레이어를 추가한다.L.marker([37.5665, 126.9780]).addTo(map)
: 서울의 위도와 경도에 마커를 추가한다.