UWP MapControl:用户操作和应用程序操作之间的区别
UWP MapControl: distinction between user- and app-manipulation
在包含 MapControl 的 UWP-App 中,有没有一种方法可以区分用户对地图的操作(例如通过捏合缩放)和应用程序本身对地图的操作? (例如通过调用 mapControl.TrySetViewAsync(...)
)
好像没有事件处理程序,对吧?
我已经尝试了几个(比如 LoadingStatusChanged
或 CenterChanged
),但是其中 none 在用户操作和应用程序操作之间有任何区别..
您应该可以注册接收 TargetCameraChanged event that will fire whenever the map view changes. The MapTargetCameraChangedEventArgs returned contain a ChangeReason 属性。
ChangeReason 属性 将是 System、UserInteraction 或 Programmatic。
由调用 API 引起的地图移动(例如 TrySetViewAsync(...)
引起的事件具有 ChangeReason == Programmatic
,而由用户操作(例如双指缩放)引起的移动应具有 ChangeReason == UserInteraction
.
在包含 MapControl 的 UWP-App 中,有没有一种方法可以区分用户对地图的操作(例如通过捏合缩放)和应用程序本身对地图的操作? (例如通过调用 mapControl.TrySetViewAsync(...)
)
好像没有事件处理程序,对吧?
我已经尝试了几个(比如 LoadingStatusChanged
或 CenterChanged
),但是其中 none 在用户操作和应用程序操作之间有任何区别..
您应该可以注册接收 TargetCameraChanged event that will fire whenever the map view changes. The MapTargetCameraChangedEventArgs returned contain a ChangeReason 属性。
ChangeReason 属性 将是 System、UserInteraction 或 Programmatic。
由调用 API 引起的地图移动(例如 TrySetViewAsync(...)
引起的事件具有 ChangeReason == Programmatic
,而由用户操作(例如双指缩放)引起的移动应具有 ChangeReason == UserInteraction
.