我想在我的MapControl中添加可以点击的图钉。由于Windows 8.1图钉类不再可用,UWP为我们提供了一个名为ImageIcon的东西(imo有点蹩脚)。这是我的代码:
BasicGeoposition bg = new BasicGeoposition() { Latitude = 52.280, Longitude = 20.972 };
Geopoint snPoint = new Geopoint(bg);
MapIcon mapIcon1 = new MapIcon();
mapIcon1.Location = snPoint;
mapIcon1.NormalizedAnchorPoint = new Point(0.5, 1.0);
MyMap.MapElements.Add(mapIcon1);
如何进行事件处理(如点击或点击)?
提前谢谢
答案 0 :(得分:8)
在 UWP 中,您可以在地图中添加更多元素,并且点击事件的处理方式略有不同 - 请查看MapControl.MapElementClick。事件由 MapControl 处理 - 因此您不需要在每个地图的元素中订阅 - 所提到的事件将返回被点击元素的列表。示例代码如下所示:
<map:MapControl Name="MyMap" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MapElementClick="MyMap_MapElementClick"/>
private void MyMap_MapElementClick(Windows.UI.Xaml.Controls.Maps.MapControl sender, Windows.UI.Xaml.Controls.Maps.MapElementClickEventArgs args)
{
MapIcon myClickedIcon = args.MapElements.FirstOrDefault(x => x is MapIcon) as MapIcon;
// do rest
}