안녕하세요? 이번 글은 Folium(폴리움)에서 마커를 설정하고 사용자 위치를 확인하는 과정을 정리해 보겠습니다. 이전 글은 아래 링크를 참고하시기 바랍니다.
Folium을 호출한 후, 시작 좌표를 지정해 지도를 표출해 봅니다.
import folium
m = folium.Map(location=[37.53319398622274, 126.96437069887519]) # 하이브 인사이트
m
'확대/축소 수준'을 조정해 봅니다. OpenStreetMap은 0부터 20까지 확대/축소 수준이 있습니다.
# 확대/축소 수준
m = folium.Map(location=[37.53319398622274, 126.96437069887519], zoom_start=17)
m
OpenStreetMap의 확대/축소 수준은 다음 링크를 참고하시면 됩니다.
이번에는 '타일 유형'을 변경해 보겠습니다. 'CartoDB positron'으로 설정해 봤습니다.
# 타일 유형
m = folium.Map(location=[37.53319398622274, 126.96437069887519], zoom_start=12, tiles="CartoDB positron")
m
'folium.Map' 모듈 도움말은 help 함수를 이용하시면 됩니다. 타일 유형은 아래와 같이 확인됩니다.
help(folium.Map)
- OpenStreetMap
- Mapbox Bright (무료 타일의 경우 제한된 수준의 확대/축소)
- Mapbox Control Room (무료 타일의 경우 제한된 수준의 확대/축소)
- Stamen (Terrain, Toner, and Watercolor)
- Cloudmade (API key 필요)
- Mapbox (API key 필요)
- CartoDB (positron and dark_matter)
이번에는 '마커'를 추가해 보겠습니다. 저는 '하이브 인사이트', '태영 벤치' 2건을 추가해 봤습니다.
# 마커
folium.Marker(
location=[37.53319398622274, 126.96437069887519],
popup="하이브 인사이트",
icon=folium.Icon(color="purple", icon="info-sign"),
).add_to(m)
folium.Marker(
location=[37.5426610841822, 127.04131697754492],
popup="태영 벤치",
icon=folium.Icon(color="purple", icon="cloud"),
).add_to(m)
m
'folium.Icon' 모듈 도움말도 아래와 같이 help 함수를 이용하시면 됩니다. 보다 많은 아이콘을 이용하실 수 있습니다.
help(folium.Icon)
이번에는 사용자 위치를 확인하는 LocateControl 플러그인을 지도에 추가해 보겠습니다!
# 사용자 위치 확인
from folium import plugins
plugins.LocateControl().add_to(m)
m
지도 왼쪽에 아래와 같이 아이콘이 추가됩니다. 해당 아이콘은 'Show me where I am'이라는 툴팁이 소개되며 클릭하면 사용자 위치가 아래와 같이 확인됩니다. 간단하죠?!
현재까지 실습한 내용을 index.html로 추출하고 이전 깃허브에 커밋해 봅니다. 결과는 아래 링크와 같습니다. 해당 웹사이트는 모바일에서도 잘 호환됩니다. 여기까지 Folium에서 마커 설정 및 사용자 위치 확인 과정을 정리해 봤습니다.