我正在为Windows 10(VS 2015)开发通用地图,我有一个地图控件。我想捕获长按/右键单击事件并确定用户按下的地理位置(lat / lng)。我曾尝试捕获右键单击事件,但它永远不会触发我是否在地图上使用鼠标或长按:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App1"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Maps="using:Windows.UI.Xaml.Controls.Maps"
x:Class="App1.MainPage"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Maps:MapControl
x:Name="Map"
MapServiceToken="<MY_TOKEN>"
ZoomInteractionMode="GestureAndControl"
LandmarksVisible="True"
IsRightTapEnabled="true"
RightTapped="Map_RightTapped"
/>
</Grid>
</Page>
C#:
using System.Diagnostics;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
namespace App1
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void Map_RightTapped(object sender, RightTappedRoutedEventArgs e)
{
Debug.WriteLine("Here");
}
}
}
显然我错过了一些东西。感谢名单,
更新:我有各种各样的工作。我可以使用MapHolding事件从长按中捕获我需要的数据,但似乎没有支持右键单击。类文档表明存在MapRightTapped事件(https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.maps.mapcontrol.maprighttapped.aspx),但在XAML编辑器或使用intellisense的.cs文件中不可用。请注意,事件是MapHolding,而不是Hold(例如,使用myMap.MapHolding + = EventHandlerMethod, not myMap.Holding + = EventHandlerMethod)。
答案 0 :(得分:0)
我认为地图上目前不支持右键单击事件,但这是本月晚些时候的下一次Windows更新。