xamarin:从数据库中获取多个经度和纬度,并使用图钉将其绘制到地图中?

时间:2018-09-01 13:26:10

标签: c# sqlite xamarin geolocation

我想从sqlite数据库中获取多个GPS坐标,然后使用Pin将其绘制到地图中。 我是这样的:

protected override void OnAppearing()
    {
        base.OnAppearing();
        MainMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(9.554777, 44.06482),
             Distance.FromKilometers(20)));


        var data = conn.Query<Report_Table>("Select Lat, Longi from Report_Table");
        foreach (var item in data)
        {

            var posi = new Position(item.Lati, item.Longi);
            var pin = new Pin
            {
                Position = posi,
                Label = "Position #",
                Address = "Address # "
            };

            MainMap.Pins.Add(pin);
        }
   }

运行时,它没有在地图上显示任何标记,我错过了什么?

精简表

 public class Report_Table
{
    [PrimaryKey, AutoIncrement,]
    public int ID { get; set; }
    public string Name { get; set; }
    public double Lati { get; set; }
    public double Longi { get; set; }
    public string Desc { get; set; }

}

1 个答案:

答案 0 :(得分:1)

问题是。您的代码在获得多个位置时运行良好,并且我认为您没有获得多个位置的原因是,sqlite中的位置更紧密地结合在一起,以便在地图中显示为标记。