xamarin:从数据库中获取多个纬度和经度并使用 pin 将其绘制到地图中?
xamarin: getting multiple latitude and longiitude from database and plot it into map using pin?
我想从 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);
}
}
当我 运行 它没有在地图上显示任何标记时,我错过了什么?
slite Table
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; }
}
事情是这样的。您的代码在获取多个位置时运行良好,我认为您没有获取多个位置的原因是您的 sqlite 中的位置更靠近在一起以显示为地图中的标记。
我想从 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);
}
}
当我 运行 它没有在地图上显示任何标记时,我错过了什么?
slite Table
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; }
}
事情是这样的。您的代码在获取多个位置时运行良好,我认为您没有获取多个位置的原因是您的 sqlite 中的位置更靠近在一起以显示为地图中的标记。