Строка как географическая координата - PullRequest
2 голосов
/ 26 мая 2011

Я разрабатываю приложение, которое хранит места в базе данных.

Проблема в следующем:

У меня есть основной вид карты, затем я нажимаю кнопку добавления места.Кнопка переходит в стандартную форму, которая содержит название, описание и координаты.Координаты я беру с карты и меняю на строку.Затем он сохраняется в базе данных SQLite.

Но я понятия не имею, как использовать геокоординаты из БД, потому что они являются строками, а не геокоординатами, и просто я не могу использовать их, например, для кнопки с данными привязки

1 Ответ

3 голосов
/ 26 мая 2011

Учитывая, что метода 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...