我想从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; }
}
答案 0 :(得分:1)
问题是。您的代码在获得多个位置时运行良好,并且我认为您没有获得多个位置的原因是,sqlite中的位置更紧密地结合在一起,以便在地图中显示为标记。