Skip to content

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 地圖上標記地點!接下來,我們將學習如何繪製形狀與區域劃分! 😊