我正在使用monotouch创建一个使用c#代码的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并传入与位置相关的信息——比如地址、名称等。然而,我不知道如何在c#代码中创建和使用字典-我找到的所有编码示例都是objective c…
我的整个目标是在地图应用程序中打开一个位置,并在地图应用程序的placemark中显示一个位置的名称…使用openinmaps()…
是否有任何方法可以使用c#代码创建这个"地址字典",以便使用openinmaps函数将信息传递给地图应用程序?
下面是一些objective 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];
}
我没有尝试过,但这样的东西应该工作- MKPlacemark
使用的AddressDictionary与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));