Windows phone 8.1 地图控制禁用旋转

Windows phone 8.1 Mapcontrol disabling rotate

想知道是否有人可以提供帮助。使用 Visual Studio 2015 开发 Windows phone 8.1 应用程序并尝试禁用旋转。我目前 "disabled" 它使用标题更改事件并将标题重置回 0。当前控件看起来像:

<Maps:MapControl Grid.Row="1"  Background="Black" Holding="MainMap_Holding" 
Heading="0" HeadingChanged="MainMap_HeadingChanged"
x:Name="MainMap" 
MapServiceToken="{StaticResource MapServiceTokenString}"
MapTapped="MainMap_MapTapped"
>

此方法的问题是它会导致地图跳回,看起来不是最好的。

我试过使用 'ManipulationMode',但即使设置 ManipulationMode="None" 也完全没有任何效果,地图仍然正常运行。我认为 "proper" 方法可以使用操作模式,如果它有效的话,但它似乎不是。

任何停止地图旋转的建议都将非常受欢迎。

是的,您可以从 XAML 本身禁用旋转。只需将以下 属性 添加到地图控件,并将其保持为禁用状态:

RotateInteractionMode="Disabled"

现在您的代码应该如下所示:

<Maps:MapControl Grid.Row="1"
Background="Black"
Holding="MainMap_Holding" 
Heading="0"
HeadingChanged="MainMap_HeadingChanged"
RotateInteractionMode="Disabled"
x:Name="MainMap" 
MapServiceToken="{StaticResource MapServiceTokenString}"
MapTapped="MainMap_MapTapped"
>

我相信 RotateInteractiveMode 选项是在 Windows 10 地图控件而不是 WP8.1 地图控件中引入的。对于 WP8.1,您可以执行以下操作:

MyMap.HeadingChanged += (s, e) =>
{
    MyMap.Heading = 0;
};

根据您使用的地图控件的版本,可能存在 IsRotateGestureEnabled 属性。