中得到这一点
我的应用程序中有一个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));
应该给你地理点。