topic난이도

Leaflet — 인터랙티브 지도

경량 인터랙티브 지도 라이브러리. 마커, 팝업, 타일 레이어를 자유롭게 구성.

#Leaflet#지도#OpenStreetMap#위치
왜 배우는가

구글맵 API는 유료 + 복잡하다. Leaflet은 무료 구글맵 대안으로, OpenStreetMap 타일과 결합하면 비용 0원으로 지도 기능을 구현할 수 있다.

Leaflet은 무료 구글맵 대안이다. 지도를 표시하고, 마커를 찍고, 팝업을 띄우고, 경로를 그리는 모든 작업을 경량 라이브러리 하나로 처리한다. OpenStreetMap 타일을 기본으로 사용하면 API 키도 필요 없다.

용도설명
매장 위치 표시프랜차이즈 매장 지도
배달 추적실시간 위치 마커 갱신
부동산매물 위치를 지도에 표시
여행 기록방문 장소를 선으로 연결
javascript
// npm install leaflet
import L from "leaflet";
import "leaflet/dist/leaflet.css";

const map = L.map("map").setView([37.5665, 126.978], 13); // 서울 시청

L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
  attribution: "© OpenStreetMap",
}).addTo(map);

L.marker([37.5665, 126.978])
  .addTo(map)
  .bindPopup("서울 시청")
  .openPopup();

`L.map()`으로 지도를 생성하고, `L.tileLayer()`로 배경 타일을, `L.marker()`로 핀을 추가한다. 좌표는 [위도, 경도] 순서.

Claude Code 팁: "Leaflet으로 서울 카페 10곳을 마커로 표시해줘"라고 하면 좌표 데이터, 커스텀 아이콘, 팝업 내용까지 포함된 코드를 생성한다.