Quero que meu mapa leafmap ocupe TODO o plano de fundo ou o plano principal, sem nenhuma margem ou algo que o mova para cima, para baixo, para a esquerda ou para a direita. No entanto, ainda tenho margens nas partes superior e inferior. Além disso, se eu aumentar a altura, isso cria um deslocamento em Y , e eu também não quero isso, mas uma janela estática ajustada ao espaço principal ou de fundo. Anexei uma captura de tela do que quero dizer. Por outro lado, preciso adicionar camadas de um netcdf, então é melhor usar o folium ou o leafmap? Por favor, me ajudem. Agradeço antecipadamente.
import streamlit as st
import leafmap.foliumap as leafmap
st.set_page_config(
page_title=None,
page_icon=None,
layout="wide",
initial_sidebar_state="auto",
)
st.markdown(
"""
<style>
header {visibility: hidden;}
footer {visibility: hidden;}
.block-container {
padding: 0 !important;
margin: 0 !important;
max-width: 100% !important;
width: 100% !important;
}
.main {
padding: 0 !important;
margin: 0 !important;
}
.css-1aumxhk {
margin-top: 0 !important;
}
</style>
""",
unsafe_allow_html=True,
)
m = leafmap.Map(center=[-0.1807, -78.4678], zoom=7)
m.to_streamlit(height=830)
A margem superior é criada por
st.markdown()
:)Se eu usar
st.html()
(semunsafe_allow_html=True,
) em vez dest.markdown()
então a margem superior desaparece.(Parece que st.html() foi adicionado na versão 1.33.0 em abril de 2024 - então pode não ser usado em tutoriais mais antigos)
Quanto à margem inferior - ela precisa
height: 100vh
(como sugerido @CamillaGiuliani), mas dentro<style>
e paraiframe
.Ele também precisa mudar
iframe
parablock
-object porque ainda há uma pequena lacuna emiframe
-textinline
.Código de trabalho completo:
Versão do Streamlit: 1.44.1
Acho que você pode ajustar seu CSS e as configurações do mapa para preencher o espaço disponível corretamente desta maneira:
A
.main
classe foi ajustadaheight: 100vh
para garantir que o mapa ocupe toda a altura da janela de visualização.Configurando a altura do mapa dinamicamente
100vh
usandom.to_streamlit(height="100vh")
.O código:
Isso garantiria que o mapa e o contêiner não tivessem margens ou preenchimento e ocupassem todo o espaço disponível. E também li que o Leafmap é mais adequado que o Folium para trabalhar com dados geoespaciais, incluindo formatos como netCDF.