有人知道如何检索使用MapElementClick事件处理程序选择的mapIcon的属性吗?我的地图上有多个图标,当我单击其中的一个时,我需要知道与单击的元素关联的标题,位置和图像。到目前为止,我发现该处理程序的sender参数并不能指示我选择了哪个元素。任何信息或建议,将不胜感激。
答案 0 :(得分:2)
如果您订阅了MapControl.MapElementClick事件,则可以在此事件处理程序参数中使用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事件,则可以在此事件处理程序参数中使用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);
}