在包含MapControl的UWP-App中,有没有办法区分用户对地图的操作(例如通过捏缩放)和应用程序本身的操作? (例如,通过致电mapControl.TrySetViewAsync(...)
)
似乎没有那个事件处理程序,对吧?
我已经尝试了几个(例如LoadingStatusChanged
或CenterChanged
),但是没有一个在用户操作和应用操作之间有任何区别..
答案 0 :(得分:4)
您应该能够注册以接收TargetCameraChanged事件,该事件将在地图视图发生变化时触发。返回的MapTargetCameraChangedEventArgs包含ChangeReason属性。
ChangeReason属性将是 System , UserInteraction 或 Programmatic 。
调用API(例如SELECT count(DISTINCT column Name) as alias from table_Name;
)会导致TrySetViewAsync(...)
的事件导致地图移动,以及用户操作(例如缩放到缩放)引起的移动应该有ChangeReason == Programmatic
。