4

我正在尝试使用 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?我试过 kABPersonAddressStreetKeyand kABPersonAddressCityKey,但都不会出现在最终的路线视图中。

4

2 回答 2

0

只是发现我可以直接修改name字段MKMapItem

MKMapItem *currentLocation = [[MKMapItem alloc]
  initWithPlacemark:[[MKPlacemark alloc]
                    initWithCoordinate:paramModel.fromCoordinate2D
                 addressDictionary:nil]];
currentLocation.name = paramModel.fromName;
于 2017-04-21T03:41:03.250 回答
-3

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

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

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

于 2017-04-20T17:35:12.120 回答