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

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


扬帆大鱼
浏览 144回答 1
1回答

饮歌长啸

如果订阅MapControl.MapElementClick事件,则可以使用此事件处理程序参数中的MapElementClickEventArgs实例来获取此事件来自哪个 MapElement 的事件数据。private void MyMapControl_MapElementClick(MapControl sender, MapElementClickEventArgs args){&nbsp; &nbsp; var elements = args.MapElements;&nbsp; &nbsp; foreach (var item in elements)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; Debug.WriteLine(item.Tag);&nbsp; &nbsp; }&nbsp; &nbsp; MapIcon element = args.MapElements.First<MapElement>() as MapIcon;&nbsp; &nbsp; Debug.WriteLine(element.Title);}否则,如果您使用MapElementsLayer.MapElementClick事件,则可以在此事件处理程序参数中使用MapElementsLayerClickEventArgs的实例来获取来自该事件的 MapElement 的事件数据。private void LandmarksLayer_MapElementClick(MapElementsLayer sender, MapElementsLayerClickEventArgs args){&nbsp; &nbsp; var elements= args.MapElements;&nbsp; &nbsp; foreach(var item in elements)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; Debug.WriteLine(item.Tag);&nbsp; &nbsp; }&nbsp; &nbsp; MapIcon element = args.MapElements.First<MapElement>() as MapIcon;&nbsp; &nbsp; Debug.WriteLine(element.Title);}
打开App,查看更多内容
随时随地看视频慕课网APP