문제상황
에서 만든 지도이다.
마커를 눌렀을 때 장소에 대한 자세한 내용이 표시되도록 하고 싶다.
마커 / 툴팁 / 팝업
마커 (Marker)
정의: 마커는 지도 상의 특정 위치를 나타내는 아이콘입니다. 이것은 주로 관심 지점(Points of Interest, POI)을 표시하는 데 사용됩니다.
용도: 마커는 사용자가 지도에서 특정 위치를 쉽게 식별할 수 있도록 돕습니다. 예를 들어, 관광 명소, 상점, 버스 정류장 등의 위치를 표시할 때 사용할 수 있습니다.
사용자 상호작용: 사용자는 마커를 클릭하여 추가 정보를 얻거나, 다른 행동(예: 상세 페이지로의 이동)을 취할 수 있습니다.
툴팁 (Tooltip)
정의: 툴팁은 마커나 지도의 특정 요소 위에 마우스를 올렸을 때 나타나는 작은 정보 상자입니다. 이 상자는 간단한 텍스트 정보를 제공합니다.
용도: 툴팁은 사용자가 마커나 지도 요소에 대한 간단한 정보를 빠르게 얻고자 할 때 유용합니다. 예를 들어, 마커의 이름이나 간단한 설명을 표시하는 데 사용될 수 있습니다.
특징: 툴팁은 일반적으로 마우스를 해당 요소 위에 올렸을 때 자동으로 나타나며, 마우스를 치우면 사라집니다.
팝업 (Popup)
정의: 팝업은 사용자가 마커나 지도의 특정 요소를 클릭했을 때 나타나는 상세 정보 창입니다.
용도: 팝업은 툴팁보다 더 많은 정보를 제공하는 데 사용됩니다. 예를 들어, 장소의 상세 설명, 사진, 링크 등이 포함될 수 있습니다.
사용자 상호작용: 팝업은 사용자가 해당 마커나 요소를 클릭했을 때 나타나며, 종종 '닫기' 버튼을 클릭하여 닫을 수 있습니다.
해결방법
# 각 포인트에 대한 상세 정보 말풍선 추가
for _, row in gdf.iterrows():
tooltip = f"{row['다이소 점포명']}"
popup_text = f"점포명: {row['다이소 점포명']}<br>주소: {row['주소']}"
popup = folium.Popup(popup_text, max_width=300)
folium.Marker(
location=[row.geometry.y, row.geometry.x],
popup=popup,
tooltip=tooltip
).add_to(m)
위의 코드를 추가하자.
툴팁 코드 설명 : 마커에 마우스 가까이 대었을 때 점포명이 나오도록 함
팝업텍스트 코드 설명 : 마커를 눌렀을 때 점포명과 주소가 나오도록 함. 이때 점포명은 '다이소 점포명' 열을, 주소는 '주소'열을 사용.
전체 코드는 아래
import pandas as pd
import geopandas as gpd
import folium
from shapely.geometry import Point
# CSV 파일 로드
charger = pd.read_csv("다이소_주소.csv", encoding="UTF-8")
# 경위도 좌표
geometry = [Point(x, y) for x, y in zip(charger["X"], charger["Y"])]
# GeoDataFrame 생성
gdf = gpd.GeoDataFrame(charger, geometry=geometry, crs="EPSG:4326")
# 지도 생성
m = folium.Map(location=[37.5, 127], zoom_start=11)
# 각 포인트에 대한 상세 정보 말풍선 추가
for _, row in gdf.iterrows():
tooltip = f"{row['다이소 점포명']}"
popup_text = f"점포명: {row['다이소 점포명']}<br>주소: {row['주소']}"
popup = folium.Popup(popup_text, max_width=300)
folium.Marker(
location=[row.geometry.y, row.geometry.x],
popup=popup,
tooltip=tooltip
).add_to(m)
# 배경 지도 추가
folium.TileLayer('CartoDB positron', name='Light Map', control=False).add_to(m)
# 지도 보여주기
folium.LayerControl().add_to(m)
m
이와 같이 툴팁과 팝업이 모두 활성화됨
'🖥️ IT, 컴퓨터 > 🐍 Python' 카테고리의 다른 글
[Python] Folium 원하는 이미지로 마커 아이콘 바꾸기 (0) | 2023.12.17 |
---|---|
[Python] 파이썬에서 컴퓨터에 저장된 이미지 단순 출력하기 :: matplotlib (0) | 2023.12.17 |
[Google Colab] 구글 코랩 파일 다운 :: 구글 코랩에서 가상머신에 저장된 파일을 나의 로컬저장소에 저장하기 (0) | 2023.12.17 |
[Python] 파이썬 오류 :: 'str' object has no attribute 'capabilities' (0) | 2023.12.16 |
[Python] invalid value encountered in long_scalars :: 분모가 0이 된 경우 (0) | 2023.11.30 |
댓글