Получение координат карты фолиума по щелчку в качестве реактивной переменной в блестящем для PythonPython

Программы на Python
Ответить
Anonymous
 Получение координат карты фолиума по щелчку в качестве реактивной переменной в блестящем для Python

Сообщение 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)


Подробнее здесь: https://stackoverflow.com/questions/792 ... -for-pytho
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»