禁止在MapControl uwp中滚动

时间:2018-01-18 20:13:54

标签: uwp uwp-xaml uwp-maps

我正在玩UWP中的MapControl,我想禁止用鼠标左键单击水平滚动循环,我希望我的小部件就像地图不像地球仪和地图一样旋转右键单击,我已经在互联网上查找并找不到任何提示。

horizontal_scrolling

rotating_issue

2 个答案:

答案 0 :(得分:0)

您可以使用CenterChanged的{​​{1}}和ZoomChanged事件来观察地图位置的变化。

在这些事件的处理程序中,您可以使用MapControl方法检索当前视图角落的位置,并使用GetLocationFromOffset检索当前中心位置,如果视图离开了" boundary",您可以使用Center方法强制恢复地图。

答案 1 :(得分:0)

您可以通过设置RotateInteractionMode属性来禁用地图的旋转功能 - 请参阅:

https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.maps.mapinteractionmode

您可能还想禁用TiltInteractionMode。

禁用平移环绕行为更难 - 没有直接支持。您可以按照上面的建议收听视图已更改或更改事件,然后强制恢复视图,但选择正确的边界以防止包装但仍然允许正常导航将会很棘手,并且您也可能会看到一些视图抖动时你遇到了这种情况。