1

私は2つのView Controllerを持っていMapViewVCますMapDetailViewVC.

にいくつかのカスタム ピン注釈がありMapViewます。

タップすると、これらの注釈 (特定のデフォルトの「高度」ビューを持つ) が開始さMapDetailVCれ、カメラ プロパティが特定の高度 (4000 m) に設定された注釈のスナップショットが表示されます。

その結果、 で「戻る」ボタンを押すとMapDetailVC、ビューは に表示されたのMapViewVCと同じ高度の に戻りMapDetailVCます。吹き出しボタンがタップされたときに表示されていた領域である元の高度ではありません。

「戻る」ボタンをタップしたときに、元の設定に戻るMapKit方法があるかどうかを(より経験豊富な人から)知りたいです。mapView

ありがとう

MapDetailViewController *mapDetail = [[self storyboard]
instantiateViewControllerWithIdentifier:@"MapDetailViewController"];

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Map"
                                                               style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;

Word *word = [[Word alloc] init];
word.name = biblicalPin.title;


MKMapCamera  *myCamera = [MKMapCamera
                          cameraLookingAtCenterCoordinate:biblicalPin.coordinate
                          fromEyeCoordinate:biblicalPin.coordinate
                          eyeAltitude:2000];

mapView.camera = myCamera;


MKMapSnapshotOptions *options = [[MKMapSnapshotOptions alloc] init];
options.size = CGSizeMake(320, 140);
options.camera = myCamera;
options.scale = [[UIScreen mainScreen] scale]; 
options.region = self.mapView.region;
options.mapType = MKMapTypeSatellite;

MKMapSnapshotter *snapshotter =
[[MKMapSnapshotter alloc] initWithOptions:options];
[snapshotter startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *e)
 {
 //if (e) ...;// Handle errors

 UIImage *image = snapshot.image;

 mapDetail.imageView.image = image;
 mapDetail.currentWordDetail = word;
 mapDetail.locationLabel.text = biblicalPin.title;
 mapDetail.locationDescription.text = biblicalPin.information;
 //[backButton --- add a method to return the user to the original mapView alititude.

 }];

word.definition = biblicalPin.information;

[self.navigationController pushViewController:mapDetail animated:YES];
4

1 に答える 1