前回:https://shikuuk.blogspot.com/2025/05/foliumfoliumhpuser-guide-url.html
まずはFoliumのHomePage(https://python-visualization.github.io/folium/latest/user_guide/ui_elements/layer_control.html)の例題です。「Remove From Control」というThemaで以下のCodeがIntroduceされています。
m = folium.Map() fg = folium.FeatureGroup(name="Icon collection", control=False).add_to(m) folium.Marker(location=(0, 0)).add_to(fg) folium.LayerControl().add_to(m) m
>Output<
LayerControlをClickしてもIconCollectionというLayerはApearしません。このCodeがIntendするissueを考えて、' control=False'にFocusして、This Partを'control=True'にしてみました。>Code<
import folium
m = folium.Map()
#fg = folium.FeatureGroup(name="Icon collection", control=False).add_to(m)
fg = folium.FeatureGroup(name="Icon collection", control=True).add_to(m)
folium.Marker(location=(0, 0)).add_to(fg)
folium.LayerControl().add_to(m)
m
次に、Show Manuallyについて確認します。FeatureGroupに'show=False'をSetすることでCode実行後の最初に表示されるMapに当該FeartureGroupはDrawされないようにするSettingになります。例えば、赤道上に東経がプラス側を30度ずつRedMarkerにより設定、東経がマイナス側を30度ずつBlueMarkerを設定し、Code実行後はプラス側は表示され、マイナス側は非表示として、LayerControlで2つのFeartureGroupの表示/非表示をManualにSettingするCodeです。
>Code<
import folium
# 地図の中心を赤道上のどこかに設定
m = folium.Map(location=[0, 0], zoom_start=2)
# 東経プラス側のFeatureGroupを作成
fg_plus = folium.FeatureGroup(name='東経プラス側 (赤色)',
show=True) #'show=True'がDefaultになります。
# 東経マイナス側のFeatureGroupを作成
fg_minus = folium.FeatureGroup(name='東経マイナス側 (青色)',
show=False) #'show=False'で最初表示されるMapに東経マイナス側のMarkerは表示されません
# 東経プラス側のマーカーを追加
for lon in range(0, 181, 30): # 0度から180度まで30度刻み
folium.Marker(
location=[0, lon], # 緯度は0度(赤道上)
icon=folium.Icon(color='red')
).add_to(fg_plus)
fg_plus.add_to(m)
# 東経マイナス側のマーカーを追加
for lon in range(-30, -181, -30): # -30度から-180度まで-30度刻み
folium.Marker(
location=[0, lon], # 緯度は0度(赤道上)
icon=folium.Icon(color='blue')
).add_to(fg_minus)
fg_minus.add_to(m)
# LayerControlを追加
folium.LayerControl(collapsed=False).add_to(m)
# 地図を表示
m
>Output< ▼こちらはDynamicMapです▼
LayerControlはこれくらいにして次はPopupになります。
コメント
コメントを投稿