如何设置MKPlacemark的显示名称?



我正在尝试用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来实现?我尝试了kABPersonAddressStreetKeykABPersonAddressCityKey,但两者都不会显示在最终路线视图中。

只要发现我可以直接修改MKMapItemname字段。

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";

然后将变量设置为地图项构造函数中的参数。

相关内容

  • 没有找到相关文章