Увеличение размера фолиевой карты на мобильных устройствах
Я делаю веб-приложение, используя Django, Folium. У меня есть навигационная панель и карта Folium на веб-странице. Все работает нормально om компьютерах и устройствах с альбомным экраном, но на устройствах с портретным экраном карта имеет свободное пространство.
Мой код для карты:
....
current_map = folium.Map(location=start_location, zoom_start=6)
m = current_map._repr_html_()
....
context = {"current_map": m}
return render(request, template_name="index.html", context=context)
Как его заполнить?
Попробуйте это:
context = {'map': map.get_root().render()}
return render(request, template_name="index.html", context=context)
index.html:
<html>
{{map|safe}}
</html>
Ну, я мог бы использовать Figure и модифицировать пакет folium.
current_map = folium.Map(location=(48.51, 32.25), zoom_start=6)
map_container = branca.element.Figure(height="100%")
map_container.add_child(current_map)
...
context = {"current_map": map_container.render(), "form": form}
return render(request, template_name="hub/index.html", context=context)
Я скачал folium-0.12.1.post1.tar.gz
, а из folium/folium.py
удалил упоминания о старых версиях Bootstrap из списков _default_js
и _default_css
. Но я использую Bootstrap в base.html
.
А в requirements.txt
я использую этот локальный модифицированный дистр:
./distr/folium-0.12.1.post1.tar.gz
Вы можете использовать
current_map._repr_html_()
Это даст вам представление для jupitier notebook. И используйте его в шаблоне по
{{current_map|safe}}
В teality это содержание сиринга, которое легко может быть изменено на
.replace()
и вы можете добавить рост, или изменить пропорции.
Также вы можете использовать
f=folium.Figure(height="100%"
current_map.add(f)
И в этом случае
current_map._repr_html_()
вернется
Вы можете управлять размером фоллиевого окна.
У меня тоже была подобная проблема некоторое время назад
Я решил эту проблему, изменив стиль карты в том месте, где я ее рендерил position:fixed;