我正在使用Xamarin.Forms和SQLite(Local SQLite.NET Database)。我有一个表,用于存储每个旅馆的经度和纬度。如何根据用户的地理位置(以经度和纬度表示)找到六个最近的旅馆?
我试图通过使用SQL SELECT查询返回旅馆列表。用户当前的经度和纬度将传递给该函数。当前,这仅返回具有用户位置的确切经度和纬度的旅馆。我对如何实现距离函数以从经度和纬度值表中获取六个最近的距离感到困惑。
preg_quote($var,"~")
在SQLiteDatabase类中:
public class HostelLocations : INotifyPropertyChanged
{
[PrimaryKey,AutoIncrement]
public int ID { get; set; }
private string longitude,latitude;
public string Longitude
{
get
{
return longitude;
}
set
{
if (longitude != value)
{
longitude = value;
OnPropertyChanged("Longitude");
}
}
}
public string Latitude
{
get
{
return latitude;
}
set
{
if (latitude != value)
{
latitude = value;
OnPropertyChanged("Latitude");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
var changed = PropertyChanged;
if (changed != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(propertyName));
}
}
}
如何使用SQLite.NET实现语句以返回表中六个最接近的经度和纬度值?谢谢。