MapControl获取窃听位置UWP



我的应用程序中有一个MapControl,我想检索用户录制的点的坐标。

<Maps:MapControl    Grid.Row="0" 
                    ColorScheme="Light" 
                    Margin="10" 
                    x:Name="mainMap" 
                    HorizontalAlignment="Stretch"
                    VerticalAlignment="Stretch"
                    Tapped="mainMap_Tapped"
                    MapElementClick="mainMap_MapElementClick"
                />

但我不知道如何从事件private void mainMap_Tapped(object sender, TappedRoutedEventArgs e)

中得到这一点

要在MapControl中获取抽头位置,我们可以使用MapControl.MapTapped事件。当用户点击MapControl或用鼠标左键单击它时,会发生此事件。MapInputEventArgs的实例提供此事件的数据。在MapInputEventArgs中,我们可以使用MapInputEventArgs.location属性来获取位置。例如:

在XAML中:

<Maps:MapControl x:Name="mainMap"
                 Grid.Row="0"
                 Margin="10"
                 HorizontalAlignment="Stretch"
                 VerticalAlignment="Stretch"
                 ColorScheme="Light"
                 MapTapped="mainMap_MapTapped"
                 MapElementClick="mainMap_MapElementClick" />

在代码背后:

private void mainMap_MapTapped(Windows.UI.Xaml.Controls.Maps.MapControl sender, Windows.UI.Xaml.Controls.Maps.MapInputEventArgs args)
{
    var tappedGeoPosition = args.Location.Position;
    string status = "MapTapped at nLatitude:" + tappedGeoPosition.Latitude + "nLongitude: " + tappedGeoPosition.Longitude;
    rootPage.NotifyUser( status, NotifyType.StatusMessage);
}
GeoPoint geoPt = this.mainMap.Layers[0].ScreenToGeoPoint(e.GetPosition(this.mapControl1)); 

应该给你地理点。

相关内容

  • 没有找到相关文章

最新更新