我正在尝试用Apple的地图显示两个地方的路线。
对于这两个地方,我既有名字又有坐标。
MKMapItem *currentLocation = [[MKMapItem alloc]
initWithPlacemark:[[MKPlacemark alloc]
initWithCoordinate:paramModel.fromCoordinate2D
addressDictionary:nil]];
MKMapItem *toLocation = [[MKMapItem alloc]
initWithPlacemark:[[MKPlacemark alloc]
initWithCoordinate:paramModel.toCoordinate2D
addressDictionary:nil]];
return [MKMapItem openMapsWithItems:@[ currentLocation, toLocation ]
launchOptions:@{
MKLaunchOptionsDirectionsModeKey :
MKLaunchOptionsDirectionsModeDriving
}];
名称存储在paramModel
内。
我认为这可以通过使用addressDictionary
来实现?我尝试了kABPersonAddressStreetKey
和kABPersonAddressCityKey
,但两者都不会显示在最终路线视图中。
只要发现我可以直接修改MKMapItem
的name
字段。
MKMapItem *currentLocation = [[MKMapItem alloc]
initWithPlacemark:[[MKPlacemark alloc]
initWithCoordinate:paramModel.fromCoordinate2D
addressDictionary:nil]];
currentLocation.name = paramModel.fromName;
尝试将 MKPlacemark 创建为变量,然后修改该变量上的标题字段,如下所示:
MKPlacemark* placemark = [[MKPlacemark alloc]
initWithCoordinate:paramModel.fromCoordinate2D
addressDictionary:nil]];
placemark.title = @"Some Title";
placemark.subtitle = @"Some subtitle";
然后将变量设置为地图项构造函数中的参数。