现在,我的代码如下:
private void AddIvy()
{
Pin one = new Pin()
{
Label = "Ivy",
Position = new Position(38.021436330, -78.653405170),
Icon = BitmapDescriptorFactory.FromBundle("Recycle")
};
MyMap.Pins.Add(one);
one.Clicked += onIvyClicked;
MyMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(38.021436330, -78.653405170), Distance.FromKilometers(10)));
}
async private void onIvyClicked(object sender, EventArgs e)
{
await PopupNavigation.Instance.PushAsync(new Ivy());
}
单击图钉one
时,应显示弹出页面Ivy
。它说one.Clicked
已过时,将其更改为MyMap.PinClicked
。但是,将代码更改为MyMap.PinClicked
会使我地图上的每个图钉弹出Ivy
。如何更改代码,以便仅在单击Ivy
时弹出one
?
答案 0 :(得分:0)
Pin 类定义一个MarkerClicked
事件,该事件在敲击Pin时触发。
您可以尝试使用:
Pin one = new Pin()
{
Label = "Ivy",
Position = new Position(38.021436330, -78.653405170),
Icon = BitmapDescriptorFactory.FromBundle("Recycle")
};
one.MarkerClicked += async (s, args) =>
{
await PopupNavigation.Instance.PushAsync(new Ivy());
};
您可以参考的更多Interact with a pin。