我正在开发一个将位置存储在数据库中的应用程序。
问题是:
我有一张地图的主视图,然后我点击添加地点按钮。按钮转到标准格式,其中包含名称,描述和坐标。我从地图中取出的坐标和更改为字符串。然后它保存在SQLite数据库中。
但是我不知道如何使用来自DB的geocoordinates,因为它们是字符串,而不是GeoCoordinates,并且我不能使用它们来例如带有绑定数据的pushpin
答案 0 :(得分:3)
考虑到没有GeoCoordinate.Parse()
方法并且假设您的字符串表示来自GeoCoordinate.ToString()
,您可以使用以下内容:
public GeoCoordinate ParseGeoCoordinate(string input)
{
if (String.IsNullOrEmpty(input))
{
throw new ArgumentException("input");
}
if (input == "Unknown")
{
return GeoCoordinate.Unknown;
}
// GeoCoordinate.ToString() uses InvariantCulture, so the doubles will use '.'
// for decimal placement, even in european environments
string[] parts = input.Split(',');
if (parts.Length != 2)
{
throw new ArgumentException("Invalid format");
}
double latitude = Double.Parse(parts[0], CultureInfo.InvariantCulture);
double longitude = Double.Parse(parts[1], CultureInfo.InvariantCulture);
return new GeoCoordinate(latitude, longitude);
}