簡體   English   中英

使用 ipywidgets 下拉 function 返回不同的輸出

[英]Using ipywidgets drop-down function to return different outputs

我正在嘗試使用 ipywidgets 的下拉菜單來返回不同城市的緯度和經度。 我很想實現這個論壇的想法, ipywidgets 下拉小部件:什么是 onchange 事件? ,但由於我對 python 比較陌生,我可能需要一些指導。 這是我到目前為止所擁有的:

import ipyleaflet
import ipywidgets as widgets

w = widgets.Dropdown(
    options=['Sydney', 'Canberra', 'Brisbane', 'Adelaide'],
    value='Sydney',
    description='Location:',
)
lat = -35
lon = 150
def on_change(change):
    if change['type'] == 'change' and change['name'] == 'value':
        print("latitude %s, " % lat)
        print("longtitude %s, " % lon)

w.observe(on_change)

display(w)

目前,每個城市都在返回堪培拉的緯度和經度,因為這些是我實際提供的坐標。 但我不確定如何調整代碼,以便每個城市的坐標與下拉菜單中的城市相關聯。 任何幫助將不勝感激。

import ipyleaflet
import ipywidgets as widgets

w = widgets.Dropdown(
    options=['Sydney', 'Canberra', 'Brisbane', 'Adelaide'],
    value='Sydney',
    description='Location:',
)

locations = {
    "Sydney": {"lat": -30, "lon": 150},
    "Canberra": {"lat": 30, "lon": 120},
    "Brisbane": {"lat": 20, "lon": 80},
    "Adelaide": {"lat": -150, "lon": 30},
}


def on_change(change):
    if change['type'] == 'change' and change['name'] == 'value':
        new_loc = locations[change["new"]]
        print("latitude %s, " % new_loc["lat"])
        print("longtitude %s, " % new_loc["lon"])

w.observe(on_change)

display(w)
  1. 將坐標放在字典locations
  2. change["new"]將獲得一個城市的新選項值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM