【问题标题】:Windows phone 8.1 Mapcontrol disabling rotateWindows phone 8.1 Mapcontrol 禁用旋转
【发布时间】:2015-09-18 16:08:52
【问题描述】:

想知道是否有人可以提供帮助。使用 Visual Studio 2015 开发 Windows phone 8.1 应用程序并尝试禁用旋转。我目前已使用标题更改事件“禁用”它并将标题重置回 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" 也完全没有任何作用,并且地图仍然可以正常工作。我认为执行此操作的“正确”方法是使用操作模式(如果它有效),但似乎并非如此。

任何停止地图旋转的建议都会受到欢迎。

【问题讨论】:

    标签: wpf xaml windows-phone-8.1 maps bing-maps


    【解决方案1】:

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

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

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

    【讨论】:

    • 最终使用了这种方法。正如 rbrundrit 所说,RotateInteractiveMode 选项在 Windows 8.1 上不可用。
    【解决方案2】:

    是的,您可以从 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"
    >
    

    【讨论】:

    • 正如 rbrundritt 所说,RotateInteractiveMode 选项在 Windows 8.1 上不可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多