У меня есть блестящее приложение для Python, которое я хотел бы сделать интерактивным, чтобы пользователи могли видеть различную статистику в зависимости от того, где они нажимают на карте.
Я использую folium для отображения карты.
Я не могу найти способ вернуть координаты места щелчка обратно в блестящее для дальнейшей обработки.
Я обнаружил, что этот процесс относительно легко реализовать с помощью ipyleaflet, но его зависимость от ipywidgets конфликтует с Plotly, от которого мое приложение сильно зависит для отображения интерактивных диаграмм, соответствующих месту, на которое щелкнули.
Вот игрушечный пример, который я хотел бы использовать на практике:< /p>
from shiny import App, render, ui, reactive
import folium
def server(input, output, session):
# Initialize reactive value for coordinates
coords = reactive.Value({'lat': None, 'lng': None})
@output
@render.ui
def map():
m = folium.Map(location=[-1.9403, 29.8739], zoom_start=8)
# Define a click event handler here that returns the coordinate to shiny
return ui.HTML(m._repr_html_())
@reactive.Effect
@reactive.event(input.map_click)
def _():
# capture the coordinates returned by the click event handler on the map
coords.set()
return coords
app_ui = ui.page_fluid(
ui.h1("Folium Map that returns Coordinates of clicked spot"),
ui.div(
ui.output_ui("map"),
style="height: 600px; width: 100%;"
)
)
app = App(app_ui, server)
Подробнее здесь: https://stackoverflow.com/questions/792 ... -for-pytho
Получение координат карты фолиума по щелчку в качестве реактивной переменной в блестящем для Python ⇐ Python
Программы на Python
1734435012
Anonymous
У меня есть блестящее приложение для Python, которое я хотел бы сделать интерактивным, чтобы пользователи могли видеть различную статистику в зависимости от того, где они нажимают на карте.
Я использую folium для отображения карты.
Я не могу найти способ вернуть координаты места щелчка обратно в блестящее для дальнейшей обработки.
Я обнаружил, что этот процесс относительно легко реализовать с помощью ipyleaflet, но его зависимость от ipywidgets конфликтует с Plotly, от которого мое приложение сильно зависит для отображения интерактивных диаграмм, соответствующих месту, на которое щелкнули.
Вот игрушечный пример, который я хотел бы использовать на практике:< /p>
from shiny import App, render, ui, reactive
import folium
def server(input, output, session):
# Initialize reactive value for coordinates
coords = reactive.Value({'lat': None, 'lng': None})
@output
@render.ui
def map():
m = folium.Map(location=[-1.9403, 29.8739], zoom_start=8)
# Define a click event handler here that returns the coordinate to shiny
return ui.HTML(m._repr_html_())
@reactive.Effect
@reactive.event(input.map_click)
def _():
# capture the coordinates returned by the click event handler on the map
coords.set()
return coords
app_ui = ui.page_fluid(
ui.h1("Folium Map that returns Coordinates of clicked spot"),
ui.div(
ui.output_ui("map"),
style="height: 600px; width: 100%;"
)
)
app = App(app_ui, server)
Подробнее здесь: [url]https://stackoverflow.com/questions/79280500/getting-clicked-folium-map-coordinates-as-a-reactive-variable-in-shiny-for-pytho[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия