Geoaxes变焦添加ButtonDownFcn之后不工作。
19日视图(30天)
显示旧的评论
我有一个应用建于AppDesigner geoaxes地图绘制。我需要放大和缩小但我也需要做一些动作,当我点击地图。问题是:
- 变焦的作品完全当没有buttondownfcn补充道
f = uifigure;
gx = geoaxes ();
geoscatter (gx 10 10)
- 缩放不工作当buttondownfcn添加。
f = uifigure;
gx = geoaxes (f);
geoscatter (gx 10 10)
gx。ButtonDownFcn =“disp (“hello”)”;
我需要使用这两个功能。我应该做什么?
0评论
接受的答案
答案(1)
Jan Studnicka
2021年5月21日
“有时候MATLAB®自动禁用内置的交互。例如,他们可能会禁用图表,有特殊的功能,或当你实现特定的回调等
WindowScrollWheelFcn
”。
然而,随着geoaxes您可以很容易地实现
放大/缩小
通过使用WindowScrollWheelFcn uifigure的回调。这是一个例子创建的文档的例子
“如何使用WindowScrollWheelFcn”
:
函数scroll_wheel
%显示了如何使用WindowScrollWheelFcn结合geoaxes和
% ButtonDownFcn回调。
f = uifigure (“WindowScrollWheelFcn”@figScroll,“名字”,“滚轮演示”);
gx = geoaxes (f);
geoscatter (gx 10 10)
gx。ButtonDownFcn =“disp (“hello”)”;
标题(gx,“旋转滚轮”)
函数figScroll(~、事件)
如果事件。VerticalScrollCount > 0
gx。ZoomLevel = gx.zoomlevel - 0.1;
elseif事件。VerticalScrollCount < 0
gx。ZoomLevel = gx.ZoomLevel + 0.1;
结束
结束
结束
1评论
亚当Danz
2021年5月21日
编辑:亚当Danz
2021年5月21日
+ 1好主意,1月注意,这个缩放成轴的中心而不是缩放轴内的光标的位置。
还是我不清楚为什么
ButtonDownFcn
可以防止变焦交互以来,回调函数不应对滚轮。我也觉得很奇怪,添加
ButtonDownFcn
但调用禁用变焦交互
enableDefaultInteractivity
可以把它在定期的数据——这听起来车给我。最后,我想知道为什么应用
enableDefaultInteractivity
与uifigures不会解决这个问题。
顺便说一句,我也得到相同的迭代警告当放大/缩小使用这种方法(r2021a)
警告:一个值类的“双重”是没有指定下标索引。目前这个操作的结果是索引值本身,但在一个
未来释放,它将是一个错误。
>在matlab.internal.asynchttpsave / AsyncHTTPContentFileWriter / handleThreadIsFinishedEvent
在matlab.internal.asynchttpsave.AsyncHTTPContentFileWriter
在asyncio /通道/ onPropertyChanged(第471行)
在asyncio.Channel > @(来源、数据)obj.onPropertyChanged (data.Name data.Value)(第401行)
显然有一些清理的兆瓦。