1

このメソッドを呼び出して、ユーザーを Apple Map に誘導します。iOS 6 では問題なく動作していましたが、iOS 7 では動作しなくなりました。どこに問題があるのでしょうか?

-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control{

lat1 = [[view annotation]coordinate].latitude;
lon1 = [[view annotation]coordinate].longitude;

NSString *str = [NSString stringWithFormat:@"http://maps.apple.com/maps?saddr=%f,%f&daddr=%f,%f", lat1,lon1,lat,lon];    

NSURL *URL = [NSURL URLWithString:str];

[[UIApplication sharedApplication] openURL:URL];

}

アップデート

-(void)direct:(id)sender{

CLLocationCoordinate2D coordinate;
coordinate.latitude = 40.896056;
coordinate.longitude = 29.217947;

MKPlacemark *mPlacemark = [[[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:nil] autorelease];
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:mPlacemark];
[mapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey  : MKLaunchOptionsDirectionsModeDriving}];
}
4

1 に答える 1

0

MKPlacemarkiOS 6 以降で使用する必要があります。

MKPlacemark *placemark = [[MKPlacemark alloc] initWithCoordinate:[view annotation]coordinate]] addressDictionary:nil];
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:placemark];
[mapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey  : MKLaunchOptionsDirectionsModeDriving}];
于 2013-09-23T08:15:43.170 に答える