Вставьте html-код карты фолиума в приложение с эффектом боке

Я разместил этот вопрос как ответ на Включите фолий во вкладки боке, а теперь еще и новый вопрос.

Я пытаюсь визуализировать необработанный HTML-код из моей карты фолио, но это не работает .. Есть идеи? :)

div = Div(
    text=map.get_root().render(), 
    width=x, 
    height=y
)

Я бы предпочел визуализировать свою карту фолия непосредственно в объекте Div bokeh вместо того, чтобы запускать приложение Flask на стороне ... Я изучил возможности использования iframe, но, похоже, здесь что-то не так с моим кодом также:

div.text = """<iframe srcdoc= """ + map.get_root().render() + """ height=""" + y + """ width=""" + x +"""></iframe>"""

Мне удалось использовать приложение Flask сбоку для карты фолио, а затем использовать URL-адрес в качестве src для моего iframe, но тогда у меня возникли проблемы с обновлением содержимого этой карты из моего инструмента боке.

Не стесняйтесь комментировать все вышеперечисленное, ура! :)

Обновление - Тестовый скрипт:

from bokeh.models.widgets import Div
from bokeh.layouts import row
from bokeh.plotting import curdoc
import folium


def run():
    folium_map = folium.Map(location=(60., 20.))

    div = Div(
        text=folium_map._repr_html_(),
        width=500,
        height=500,
    )

    return row(div)

bokeh_layout = run()
doc = curdoc()
doc.add_root(bokeh_layout)

person bow2py    schedule 21.10.2020    source источник


Ответы (1)


С map.get_root().render() у вас есть вся HTML-страница. Если вам просто нужен iframe, вы можете использовать метод _repr_html_() карты фолио:

div = Div(
    text=map._repr_html_(), 
    width=x, 
    height=y
)
person Pierre-Loic    schedule 21.10.2020
comment
Спасибо за советы, однако я, кажется, не понимаю этого .. Я получаю пустую страницу только при запуске кода ниже (с командой bokeh serve) .. def run (): folium_map = folium.Map (location = (60 ., 20.)) div = Div (text = folium_map._repr_html_ (), width = 500, height = 500,) return row (div) bokeh_layout = run () doc = curdoc () doc.add_root (bokeh_layout) - person bow2py; 22.10.2020
comment
есть идеи относительно комментария выше? :) - person bow2py; 02.11.2020