我刚从Scipy2020教程中学习了ipyleaflet。在本教程的示例中,我看到了通过GeoJSON在ipyleaflet上设置悬停事件的可能性。有人能告诉我如何在Marker上进行悬停活动吗
下面是我的测试尝试
m = Map(
basemap=basemaps.CartoDB.DarkMatter,
center = center,
zoom = zoom,
interpolation='nearest'
)
icon1 = AwesomeIcon(
name = 'paper-plane-o',
marker_color='red',
icono_color='black',
icon_size=(2,2),
spin=False
)
marker = Marker(icon=icon1,
name = glider_mission.split('/')[-1],
location = ([27.19,-82.79]),
draggable=False,
opacity=0.5,
rise_on_hover=True,
)
html = HTML()
def update_html(marker,**kwargs):
html.value = '''
<b>Glider Mission:</b><br>
{}
'''.format(marker.name)
marker.on_mouseover(update_html(marker))
m.add_layer(marker)
m
Jupyter实验室给了我错误,比如
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
TypeError: 'NoneType' object is not callable
marker.on_mouseover
方法将回调函数作为参数。这里您正在调用update_html(marker)
,它返回None
,这意味着您正在调用marker.on_mouseover(None)
,因此出现了错误消息您要做的是:
get_callback
返回一个回调函数(可调用函数),因此on_mouseover
方法不再抱怨相关问题 更多 >
编程相关推荐