私は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];