How to open the popup automatically when a search is found for a GeoJson layer?
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, python
- Domínio
- data-visualization, frontend
Direção de pesquisa
Comece com plugins/search.py e o exemplo plugin-Search.ipynb e, em seguida, execute em um navegador a reprodução fornecida com GeoPandas e Folium. Inspecione o handler search:locationfound e o valor reportado e.layer._popup; considera-se concluído quando um estado GeoJSON pesquisado abre seu popup automaticamente, como no exemplo esperado do Leaflet.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Please add a code sample or a nbviewer link, copy-pastable if possible
# Your code here
import folium
import branca
import geopandas
from folium.plugins import Search
print(folium.__version__)
states = geopandas.read_file(
'https://rawcdn.githack.com/PublicaMundi/MappingAPI/master/data/geojson/us-states.json',
driver='GeoJSON'
)
min, max = states['density'].quantile([0.05,0.95]).apply(lambda x: round(x, 2))
colormap = branca.colormap.LinearColormap(
colors=['#f2f0f7','#cbc9e2','#9e9ac8','#756bb1','#54278f'],
index=states['density'].quantile([0.2,0.4,0.6,0.8]),
vmin=min,
vmax=max
)
colormap.caption="Population Density in the United States"
m = folium.Map(location=[38,-97], zoom_start=4)
style_function = lambda x: {
'fillColor': colormap(x['properties']['density']),
'color': 'black',
'weight':2,
'fillOpacity':0.5
}
stategeo = folium.GeoJson(
states,
name='US States',
style_function=style_function,
popup=folium.GeoJsonPopup(
fields=['name', 'density'],
aliases=['State', 'Density'],
localize=True
)
).add_to(m)
statesearch = Search(
layer=stategeo,
geom_type='Polygon',
placeholder='Search for a US State',
collapsed=False,
search_label='name'
).add_to(m)
folium.LayerControl().add_to(m)
colormap.add_to(m)
m
Problem description
I was trying to make the popup open automatically when a search is found in a GeoJson layer. My code is modified from an example code "plugin-Search.ipynb". I am using the "master" version of folium on the github. Right now, my code cannot open the popup when a search is found. I checked the source code "search.py" in "plugins" folder. The code is:
{{this.layer.get_name()}}searchControl.on('search:locationfound', function(e) {
{{this.layer.get_name()}}.setStyle(function(feature){
return feature.properties.style
})
{% if this.options %}
e.layer.setStyle({{ this.options|tojson }});
{% endif %}
if(e.layer._popup)
e.layer.openPopup();
})
I think the code should open popup if location is found but it did not.
I manually added console.log(e.layer._popup) in front of if(e.layer._popup) in the html file. When I searched one state on the web page, the console outputs "undefined" for e.layer._popup. It's confusing to me.
Expected Output
I expect to open the popup automatically when a search is found like this leaflet search example https://labs.easyblog.it/maps/leaflet-search/examples/geojson-layer.html.
Output of folium.__version__
0+unknown
- Linguagem predominante
- Python
- Estrelas
- 7.4k
- Forks
- 2.3k
- Merge médio
- 10h 24min
- PRs com merge (30d)
- 8
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de python-visualization/folium
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
python-visualization/folium#2092 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 67/100
python-visualization/folium#2278 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
python-visualization/folium#2259 ·
Mantenedores costumam responder em até 1 dia
-
Map output from OSM returns blocked tiles, due to defective request or not following referer-policyAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
python-visualization/folium#2236 · 5 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
Touch Screen often failsAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 10/100
python-visualization/folium#2219 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de python-visualization/folium
Issues semelhantes
-
[Bug] @deck.gl/arcgis dist import resolves to unpublished @deck.gl/core source path (9.3.11, 9.4.0)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
workflow: a tick's dispatch counts as 'only this step', and no review self-grants a round unattendedAbertaworkflow
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
kristofdegrave/homeassistant-smart-charging#1505 ·
Mantenedores costumam responder em até 1 dia
-
New Submission: TropWATERAbertametadata submission
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
canonical/content-cache-operator#163 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
[submission]Abertasubmission
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
leanprover/lean-eval-submissions#1852 ·
Mantenedores costumam responder em até 1 dia