C# итерация над MapLocationFinderResult

Я в тупике при попытке получить более одного элемента из списка MapLocationFinderResult.
Я пробовал использовать цикл foreach:

private async void GetRouteAndDirections()
    {
        // Query hint
        queryHint = new BasicGeoposition();
        queryHint.Latitude = -37.8136;
        queryHint.Longitude = 144.9631;
        Geopoint hintPoint = new Geopoint(queryHint);

        // Start
        //BasicGeoposition startLocation = new BasicGeoposition();
        result = await MapLocationFinder.FindLocationsAsync(addressToGeocode, hintPoint, 10);

        // End

        // Get route

        // Show
        if (result.Status == MapLocationFinderStatus.Success)
        {
            foreach (MapLocation i in result.Locations)
            {
                txtMessage.Text += (result.Locations[i].Address.Street + " n"); // need to figure out how to iterate over this
            }

            AddMapIcon();
        }

Ошибка:

Код Серьезности Описание Состояние Подавления Строки Файла Проекта
Ошибка CS1503 Аргумент 1: не удается преобразовать из ‘ Windows.Услуги.Карты.MapLocation ‘to’ int ‘ MapsApp C:UsersRobertOneDriveVSProjectsMapsAppMapsAppMainPage.код XAML.cs 72 активный

Должен ли я попытаться бросить его, так или иначе?

Это использование Windows.Услуги.Карты; Окна.Устройства.Геолокация; Windows.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.код XAML.Контроли.Карты

1 ответ

  1. i имеет типMapLocation, но вы пытаетесь использовать его в качестве индекса. Попробуйте этот код:

    foreach (MapLocation i in result.Locations)
    {
        txtMessage.Text += (i.Address.Street + " \n"); 
    }