如何设置MKPlacemark的显示名称?

时间:2017-04-20 11:35:42

标签: ios mapkit mkmapitem clplacemark

我试图用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,但最终路线视图中都没有显示。

2 个答案:

答案 0 :(得分:0)

尝试将MKPlacemark创建为变量,然后修改该变量的标题字段,如下所示:

MKPlacemark* placemark = [[MKPlacemark alloc]
                    initWithCoordinate:paramModel.fromCoordinate2D
                 addressDictionary:nil]];
placemark.title = @"Some Title";
placemark.subtitle = @"Some subtitle";

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

答案 1 :(得分:0)

请注意,我可以直接修改name的{​​{1}}字段。

MKMapItem