我想在我的应用程序中显示两张地图。一个视图中的一张大地图和另一个视图中的另一张作为“迷你地图”。小地图应该是静态的。
我的问题是,当我在大地图上滚动此地图并返回到小地图所在的另一个视图时,小地图的坐标与大地图上的坐标相同。
大地图代码:
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 方法中的代码/函数。所以解决了!