Я использую этот код для создания интерактивной карты на python:
# Define the callback: update_plot
def update_plot(attr, old, new):
# Create a dropdown Select widget for the y data: y_select
N = str(select.value)
map_options = GMapOptions(lat=sites_list_c.loc[sites_list_c['Site Name'] == N,'Latitude Decimal'], lng=sites_list_c.loc[sites_list_c['Site Name'] == N,'Lontitude Decimal'], map_type="roadmap", zoom=4)
plot = gmap(my_key, map_options, title="Test")
source = ColumnDataSource(
data=dict( lat=sites_list_c['Latitude Decimal'].tolist(),
lon=sites_list_c['Longitude Decimal'].tolist()
)
)
plot.circle(x="lon", y="lat", size=15, fill_color='blue', fill_alpha=0.8, source=source)
# Attach the update_plot callback to the 'value' property of y_select
select.on_change('value', update_plot)
# Create layout and add to current document
layout = row(widgetbox(select), plot)
curdoc().add_root(layout)
show(layout)
Но я получаю это предупреждение:
ПРЕДУПРЕЖДЕНИЕ: bokeh.embed.util: Выгенерируют автономный вывод HTML / JS, но пытаются использовать реальные обратные вызовы Python (т.е. с on_change или on_event).Эта комбинация не может работать.
Только автономные обратные вызовы JavaScript могут использоваться с автономным выводом.Для получения дополнительной информации о обратных вызовах JavaScript с Bokeh см .:
http://bokeh.pydata.org/en/latest/docs/user_guide/interaction/callbacks.html
В качестве альтернативы, чтобы использовать реальные обратные вызовы Python, может использоваться приложение сервера Bokeh.Для получения дополнительной информации о создании и запуске приложений Bokeh см .:
http://bokeh.pydata.org/en/latest/docs/user_guide/server.html