アプリで 2 つのマップを表示したいと考えています。ビュー内の 1 つの大きなマップと、「ミニ マップ」としての別のビュー内の別のマップ。ミニマップは静的である必要があります。
私の問題は、大きな地図でこの地図をスクロールし、ミニ マップがある別のビューに戻ると、ミニ マップの座標が大きな地図と同じになることです。
ビッグマップコード:
self.placeMapView = [[SKMapView alloc] init];
self.placeMapView.frame = CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame));
self.placeMapView.delegate = self;
self.placeMapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.placeMapView.settings.poiDisplayingOption = SKPOIDisplayingOptionNone;
[self.view addSubview:self.placeMapView];
//set the map region
SKCoordinateRegion region;
region.center = CLLocationCoordinate2DMake(40.758637, -73.986171);
region.zoomLevel = 17;
self.placeMapView.visibleRegion = region;
ミニマップコード:
self.miniMap = [[SKMapView alloc] init];
self.miniMap.frame = CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.showMap.frame), CGRectGetHeight(self.showMap.frame));
self.miniMap.delegate = self;
self.miniMap.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.miniMap.mapScaleView.hidden = YES;
self.miniMap.settings.showCompass = NO;
[self.showMap setUserInteractionEnabled:NO];
[self.showMap addSubview:self.miniMap];
//set the map region
SKCoordinateRegion region;
region.center = CLLocationCoordinate2DMake(40.758637, -73.986171);
region.zoomLevel = 15;
self.miniMap.visibleRegion = region;
これらのスニペットは、同じビューにも同じコードにもありません!
どうすればこの動作を防ぐことができますか?
編集: わかりました。簡単でした。なぜ手に入れるまでに時間がかかるのかわからない。viewWillAppear メソッドでコード/関数を実行するだけです。それで解決!