UWP MapControl:用户操作和应用程序操作之间的区别

UWP MapControl: distinction between user- and app-manipulation

在包含 MapControl 的 UWP-App 中,有没有一种方法可以区分用户对地图的操作(例如通过捏合缩放)和应用程序本身对地图的操作? (例如通过调用 mapControl.TrySetViewAsync(...)

好像没有事件处理程序,对吧? 我已经尝试了几个(比如 LoadingStatusChangedCenterChanged),但是其中 none 在用户操作和应用程序操作之间有任何区别..

您应该可以注册接收 TargetCameraChanged event that will fire whenever the map view changes. The MapTargetCameraChangedEventArgs returned contain a ChangeReason 属性。

ChangeReason 属性 将是 SystemUserInteractionProgrammatic

由调用 API 引起的地图移动(例如 TrySetViewAsync(...) 引起的事件具有 ChangeReason == Programmatic,而由用户操作(例如双指缩放)引起的移动应具有 ChangeReason == UserInteraction.