3️⃣ 地圖標記與自訂樣式
🎯 在地圖上添加標記(Marker)
Folium 允許我們在地圖上標記特定位置,例如 景點、店鋪、事件發生地,並可以自訂 圖示、提示訊息(Tooltip)、彈出視窗(Popup)。
✅ 添加基本標記點
import folium
# 建立地圖
m = folium.Map(location=[25.0330, 121.5654], zoom_start=12)
# 添加標記點
folium.Marker(
[25.0330, 121.5654],
popup="台北101",
tooltip="點擊查看詳細資訊"
).add_to(m)
# 儲存地圖
m.save("map_with_marker.html")
✅ 效果:
- 使用者將滑鼠移到標記點上時,會顯示 Tooltip(點擊查看詳細資訊)。
- 點擊標記點時,會彈出 Popup(台北101)。
✅ 自訂標記圖示
我們可以使用 Folium 內建的 Icon 來更改標記的顏色與圖示。
folium.Marker(
[25.0375, 121.5637],
popup="台北車站",
tooltip="這是台北車站",
icon=folium.Icon(color="red", icon="info-sign")
).add_to(m)
✅ Icon 參數選擇:
參數 | 功能 |
---|---|
color="red" |
設定標記顏色,可用 blue, green, orange, purple, red, white 等顏色 |
icon="info-sign" |
設定圖示,可用 FontAwesome 或 glyphicon 圖示 |
✅ 使用自訂圖片作為標記
如果內建圖示不符合需求,可以使用自訂圖示。
icon = folium.CustomIcon("custom_icon.png", icon_size=(30, 30))
folium.Marker([25.0455, 121.5100], icon=icon, popup="自訂圖示示範").add_to(m)
✅ 這樣可以使用自己設計的 PNG 圖片作為標記點。
✅ 添加多個標記點
你可以使用迴圈來新增多個標記點,例如讀取 Pandas DataFrame。
import pandas as pd
# 創建地點數據
locations = pd.DataFrame({
"name": ["台北101", "台北車站", "士林夜市"],
"lat": [25.0330, 25.0478, 25.0874],
"lon": [121.5654, 121.5170, 121.5250]
})
# 在地圖上標記所有地點
for _, row in locations.iterrows():
folium.Marker([row["lat"], row["lon"], popup=row["name"]]).add_to(m)
✅ 這樣可以批次在地圖上標記多個地點,非常適合可視化商店、旅遊景點、災害點等。
📝 總結
功能 | 語法 |
---|---|
添加標記 | folium.Marker([lat, lon], popup, tooltip).add_to(m) |
自訂標記顏色與圖示 | folium.Icon(color="red", icon="info-sign") |
使用自訂圖片作為標記 | folium.CustomIcon("image.png", icon_size=(30,30)) |
批次新增標記 | 迴圈讀取 Pandas DataFrame |
🚀 現在你已經學會如何在 Folium 地圖上標記地點!接下來,我們將學習如何繪製形狀與區域劃分! 😊