UWP MapControl:用户和应用程序操作之间的区别
在包含MapControl的UWP-App中,有没有一种方法可以区分用户对地图的操作(例如,通过捏合缩放)和一个是由应用程序本身? (例如,通过致电mapControl.TrySetViewAsync(...)
)UWP MapControl:用户和应用程序操作之间的区别
似乎并没有这样的事件处理程序,对吧? 我已经尝试过若干个(如或CenterChanged
),但没有人正在用户和应用程序,操作有什么区别..
你应该能够注册接收TargetCameraChanged事件将触发每当地图视图更改。返回的MapTargetCameraChangedEventArgs包含一个ChangeReason属性。
的ChangeReason属性为系统,用户交互或编程。
由调用API引起的地图移动(如TrySetViewAsync(...)
)导致事件发生了ChangeReason == Programmatic
,并且用户操作(如捏缩放缩放)导致的移动应具有ChangeReason == UserInteraction
。
谢谢你的帮助! –
我对你的答案做了一个小小的修改,使它更具可读性(至少在我看来是这样)的时候,如果你发现它不好,请不要犹豫回滚。答案也是+1。 – Romasz
刚刚发现这个建议带给了bing-devs:https://binglistens.uservoice.com/forums/283355-ideas/suggestions/9494889-add-a-centermanuallychanged-event-to-mapcontrol - 但是有没有方法来自己动手吗? –