禁用Windows Phone地图控件上的平移和缩放事件

3
我正在开发一个Windows Phone应用程序。
我的想法是在全景控件上显示一张地图,并在选定的图钉上按下时将用户带到地图的大版本。
然而,我找不到任何方法来禁用地图控件的缩放、平移和快速滑动事件。由于这张地图只是一个预览,我不想实际使用它像地图一样(但由于我想有图钉,它仍然需要是一张地图)。
是否有办法在地图控件上禁用手势事件?或者有没有更好的方法来实现我的需求?
谢谢。
4个回答

3

听起来是个不错的计划。我明天会尝试并回报。今天还注意到在4th & Mayor(在地方屏幕上)实现了我想要的类似功能。不知道那是如何完成的。 - rikkit
请务必给个反馈 - 我现在没时间试一下,但是对你的解决方案很感兴趣。 - ColinE
尝试了一下。似乎地图控件会在最上层绘制自己,无论其ZIndex如何,这意味着透明的矩形无法阻止它捕获手势。(此外,如果您将全景略微移出屏幕,则当您向左右滑动时,地图会出现在控件外部)。我想我得调查一些静态地图解决方案了。 - rikkit

1
尝试使用不透明度为0的非透明元素覆盖地图,这对我有效:
<Grid>
    <maps:Map x:Name="Map" Height="200" />
    <Grid Height="200" Background="Black" Opacity="0" Tap="MapGrid_OnTap">
        <!--background is black to disable map pan & zoom, if backround is transparent, map still can capture gestures-->
    </Grid>
</Grid>

0

以下是我在Windows Phone上禁用平移的方法。

为地图控件添加MapPan事件处理程序,然后在处理程序中将该事件设置为已处理。

private void mapControl_MapPan( object sender, MapDragEventArgs e )
{
  e.Handled = true;
}

这将防止地图控件进行平移。对于缩放也应该起作用。

0
void MapControl_MapZoom(object sender, MapZoomEventArgs e)
{
    e.Handled = true;
}

这将阻止地图控件通过手势进行缩放,但地图仍可通过地图缩放级别条进行缩放。因此,这实现了地图控件的完整缩放级别。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接