使用 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);
}
有人知道如何检索使用 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);
}