在包含 MapControl 的 UWP-App 中,有没有办法区分用户对地图的操作(例如,通过捏缩放)和应用程序本身对地图的操作?(例如通过调用mapControl.TrySetViewAsync(...)
)
似乎没有事件处理程序,对吧?我已经尝试了几个(如LoadingStatusChanged
or CenterChanged
),但它们都没有在用户操作和应用程序操作之间产生任何区别..
您应该能够注册以接收TargetCameraChanged事件,该事件将在地图视图更改时触发。返回的MapTargetCameraChangedEventArgs包含ChangeReason属性。
ChangeReason 属性将为System、UserInteraction或Programmatic。
调用 API 引起的地图移动(例如具有的TrySetViewAsync(...)
原因事件ChangeReason == Programmatic
),以及由用户操作(例如捏到缩放)引起的移动应该具有ChangeReason == UserInteraction
。