Jeg prøver å uncenter kartvisningen og fjerne alle merknader. Grunnen til dette er at mapView vil bli brukt av forskjellige visnings kontrollere for å vise ulike merknader og steder. Det som skjer nå er at jeg bruker fjerne merknader metoden, og jeg fjerner dem, men kartet forblir sentrert på stedet og dermed når nye kommentarer kommer inn, betyr det ikke beveger seg. Er det en måte å nullstille regionen og i så fall, hva verdien gjør null jeg det til. Jeg prøvde null, null og noen beregnet verdi, men core animasjon, sier de er ugyldige. hvordan får jeg det til å zoome ut og tilbake i på mine nye kommentarer?
her er noen kode
-(void)recenterMap {
NSArray *coordinates = [_mapView valueForKeyPath:@annotations.coordinate];
CLLocationCoordinate2D maxCoord = {-90.0f, -180.0f};
CLLocationCoordinate2D minCoord = {90.0f, 180.0f};
//NSLog(@%@, [coordinates description]);
for (NSValue *value in coordinates) {
CLLocationCoordinate2D coord = {0.0f, 0.0f};
[value getValue: &coord];
if(coord.longitude > maxCoord.longitude) {
maxCoord.longitude = coord.longitude;
}
if(coord.latitude > maxCoord.latitude){
maxCoord.latitude = coord.latitude;
}
if(coord.longitude < minCoord.longitude){
minCoord.longitude = coord.longitude;
}
if(coord.latitude < minCoord.latitude){
minCoord.latitude = coord.latitude;
}
}
MKCoordinateRegion region = {{0.0f, 0.0f}, {0.0f, 0.0f}};
region.center.longitude = (minCoord.longitude + maxCoord.longitude) / 2.0;
region.center.latitude = (minCoord.latitude + maxCoord.latitude) / 2.0;
region.span.longitudeDelta = maxCoord.longitude - minCoord.longitude;
region.span.latitudeDelta = maxCoord.latitude - minCoord.latitude;
[_mapView setRegion: region animated: YES];
}
Dvs de sentrere methos jeg bruker
- (MKAnnotationView *)mapView: (MKMapView *)mapView viewForAnnotation: (id <MKAnnotation>)annotation{
MKAnnotationView *view = nil;
if(annotation != mapView.userLocation){
Annotation *schoolAnn = (Annotation*)annotation;
view = [self.mapView dequeueReusableAnnotationViewWithIdentifier:@schoolLoc];
if(nil == view){
view = [[[MKPinAnnotationView alloc] initWithAnnotation:schoolAnn reuseIdentifier:@schoolLoc]autorelease];
}
[(MKPinAnnotationView *)view setAnimatesDrop:YES];
[view setCanShowCallout:YES];
}
else {
[self recenterMap];
}
return view;
}
Denne andre del venter til den blå marmor faller i så recenters kartet. Problemet jeg har med det er at når jeg går tilbake til forrige View Controller jeg fjerne alle kommentarer, så når jeg kommer tilbake i Bruker sted (for noen grunn) ikke pop tilbake i. Hvordan får jeg dette til pop tilbake i?
takk på forhånd folkens













