使用 MapElementClick 事件控制特定的地图元素 C#/UWP

Using the MapElementClick Event to control a specific map element C#/UWP

有人知道如何检索使用 MapElementClick 事件处理程序选择的 mapIcon 的属性吗?我的地图上有多个图标,当我单击其中一个时,我需要知道与我单击的元素关联的标题、位置和图像。到目前为止,我发现该处理程序的 sender 参数没有给出我选择的元素的任何指示。任何信息或建议将不胜感激。

如果您订阅此事件处理程序参数中的 MapControl.MapElementClick Event, you can use the instance of MapElementClickEventArgs 以获取来自此事件的 MapElement 的事件数据。

private void MyMapControl_MapElementClick(MapControl sender, MapElementClickEventArgs args)
{
    var elements = args.MapElements;
    foreach (var item in elements)
    {
        Debug.WriteLine(item.Tag);
    }

    MapIcon element = args.MapElements.First<MapElement>() as MapIcon;
    Debug.WriteLine(element.Title);
}

否则,如果您在此事件处理程序参数中使用 MapElementsLayer.MapElementClick Event, you can use the instance of MapElementsLayerClickEventArgs 来获取来自事件的 MapElement 的事件数据。

private void LandmarksLayer_MapElementClick(MapElementsLayer sender, MapElementsLayerClickEventArgs args)
{
    var elements= args.MapElements;
    foreach(var item in elements)
    {
        Debug.WriteLine(item.Tag);
    }

    MapIcon element = args.MapElements.First<MapElement>() as MapIcon;
    Debug.WriteLine(element.Title);
}