String作为GeoCoordinate

时间:2011-05-26 13:59:11

标签: windows-phone-7

我正在开发一个将位置存储在数据库中的应用程序。

问题是:

我有一张地图的主视图,然后我点击添加地点按钮。按钮转到标准格式,其中包含名称,描述和坐标。我从地图中取出的坐标和更改为字符串。然后它保存在SQLite数据库中。

但是我不知道如何使用来自DB的geocoordinates,因为它们是字符串,而不是GeoCoordinates,并且我不能使用它们来例如带有绑定数据的pushpin

1 个答案:

答案 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);
}