我想在我的 MapControl 中添加可以点击的图钉。由于 Windows 8.1 图钉类不再可用,UWP 为我们提供了一个名为 ImageIcon 的东西(我觉得它有点糟糕)。这是我的代码:
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);
如何让它进行事件处理(如点击或点击)?
提前致谢
最佳答案
在 UWP 中,您可以在 map 中放置更多元素,并且点击事件的处理方式略有不同 - 请查看 MapControl.MapElementClick .事件由 MapControl 处理 - 因此您不需要订阅每个 map 的元素 - 提到的事件将返回点击元素的列表。示例代码如下所示:
<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
}
关于c# - 如何在 UWP 中创建 MapIcon 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34377203/