よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

【folium】地図のマーカーpopupに別タブで開くリンクを貼る方法

今回は、foliumで作成した地図にマーカーを追加し、そのpopupに別タブで開くリンクを貼る方法。

popupにbranca.element.IFrame()を使ってhtmlコードが書けますが、リンクを貼るだけだとpopupの中にリンクページが表示されます。小さくて見にくい。
そこで、リンクをブラウザの別タブで開くようにしてhtmlコードを書いておけば…

参考リンク




  • 別タブで開くリンクの書き方は
<a href="リンク先URL" target="_blank" rel="noopener noreferrer">リンクはこちら</a>



実行環境

  • Android
  • Termux
  • Python3.9
  • Jupyter Notebook
  • folium、 branca



  • ライブラリのインストールは
$ pip install folium branca

など。環境に合わせて行っておく。



地図作成

# popupに別タブで開くリンクを貼った地図を作成
import folium
from folium import plugins
import branca

# ベースの地図作成
center = ['36.534461', '138.137568'] # 中心座標(適当
m = folium.Map(center, zoom_start=8)


# ポップアップの作成 (別タグで開くリンクつき
html = '<a href ="https://www.city.chikuma.lg.jp/docs/2013080700188/" target="_blank" rel="noopener noreferrer">長野県千曲市 森将軍塚古墳 <br> 科野の里歴史公園 森将軍塚古墳館 (別タブで開きます) </a>'
# popupの作成 (画像の貼り付け
iframe = branca.element.IFrame(html=html, width=300, height=100)
popup = folium.Popup(iframe, max_width=300)
# 地図にpopupを追加
folium.Marker(center, popup=popup).add_to(m)


# 地図をフルスクリーンにするボタンの追加
plugins.Fullscreen(
    position="topright",
    title="拡大する",      
    title_cancel="元に戻す",
    force_separate_button=True,
).add_to(m)
 
# 地図を表示
m
Make this Notebook Trusted to load map: File -> Trust Notebook

座標とリンクは長野県千曲市の有名な古墳。
上の地図のマーカー(ピン)をクリックすると、ブラウザの別タブで開くリンクが貼り付けてある。



これは需要があるだろう。以上です。