Карты iOS для монотач

Я использую monotouch для создания приложения iOS с использованием кода С#... Я пытаюсь использовать приложение навигации/карт, используя этот код:

var addressDictionary = new NSMutableDictionary();
addressDictionary.Add(NSObject.FromObject("Name"), NSObject.FromObject(selectedLocation.Name));    
MKPlacemark pMark = new MKPlacemark(new CLLocationCoordinate2D (loc.Latitude, loc.Longitude), null);

MKMapItem mapItem = new MKMapItem(pMark);
mapItem.OpenInMaps();

Вы можете создать NSDictionary и передать информацию, относящуюся к местоположению, например, адрес, имя и т. д. Однако я не знаю, как создать и использовать словарь в коде С# — все примеры кодирования, которые я нашел были объективны с...

Вся моя цель - открыть местоположение в приложении карт и передать имя местоположения, которое будет отображаться в метке в приложении карт... используя openinmaps()...

Есть ли способ создать этот "словарь адресов" с помощью кода C#, чтобы информация передавалась в приложение карт с помощью функции openinmaps?

Вот пример некоторого объективного кода C:

-(void)showMap
{
    NSDictionary *address = @{
      (NSString *)kABPersonAddressStreetKey: _address.text,
      (NSString *)kABPersonAddressCityKey: _city.text,
      (NSString *)kABPersonAddressStateKey: _state.text,
      (NSString *)kABPersonAddressZIPKey: _zip.text
    };

    MKPlacemark *place = [[MKPlacemark alloc] 
           initWithCoordinate:_coords 
           addressDictionary:address];

    MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:place];

    NSDictionary *options = @{
        MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving
    };

    [mapItem openInMapsWithLaunchOptions:options];
}

person jharr100    schedule 28.05.2013    source источник


Ответы (1)


Я не пробовал это, но что-то вроде этого должно работать - AddressDictionary, используемый MKPlacemark, имеет тот же формат, что и AddressBook.

NSMutableDictionary a = new NSMutableDictionary();

a.Add(ABPersonAddressKey.City, new NSString(city));
a.Add(ABPersonAddressKey.State, new NSString(state));
a.Add(ABPersonAddressKey.Zip, new NSString(zip));
a.Add(ABPersonAddressKey.Street, new NSString(addr1));
person Jason    schedule 28.05.2013