字符串作为地理坐标

问题描述

| 我正在开发一个将位置存储在数据库中的应用程序。 问题是: 我有一个主视图的地图,然后单击添加位置按钮。该按钮将转到标准格式,其中包含名称,描述和坐标。我从地图上获取的坐标并更改为字符串。然后将其保存在sqlite数据库中。 但是我不知道如何使用数据库中的地理坐标,因为它们是字符串,而不是地理坐标,而且我根本无法使用它们来例如绑定数据图钉     

解决方法

考虑到没有
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);
}