如何在xamarin表单Map中更新大头针?

2wnc66cl  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(140)

下面的代码:

private async void setHelpersPins(object sender, ElapsedEventArgs e)
{
    var temp = await firebaseHelper.GetAllHelperUsers();

    if (map.Pins.Count>0)
    {
        map.Pins.Clear();
    }

    foreach (var user in temp)
    {
        Pin pin = new Pin
        {
            Label = user.Nickname,
            Address = "További információkért kattints ide.",
            Type = PinType.Place,
            Position = new Position(user.Latitude, user.Longitude)
        };                
        map.Pins.Add(pin);
    }
}

它使用Timer.Elapsed每10秒运行一次。
但是每次运行这个方法时,它都会使Map Flink ,这对我来说不是很好。
如何仅更新用户昵称相同的那些引脚坐标?

o7jaxewo

o7jaxewo1#

要查找集合的元素,请使用LINQ查询

using System.Linq;

....

var pins = map.Pins.Where(x => x.Label == "somevalue").ToList();

那么您可以遍历该列表以更新它

foreach (var p in pins)
{
  p.Position = someNewPosition;
}

相关问题