W mojej aplikacji pokazuję pewne miejsce na widoku mapy przy użyciu MKMapView. Pokazał mapę w porządku. Ale od wczoraj pokazuje tylko siatkę i nie pokazuje mapy, kiedy dodam metodę delegowania, którą odwiedza kiedyś mapviewdidfiailtoload.Widok MKMap pokazujący tylko siatkę nie pokazuje widok mapy
Używam poniższy kod
// MapView
myMapView=[[MKMapView alloc] initWithFrame:CGRectMake(0,gameNameLabel.frame.size.height, 320, 181)];
myMapView.mapType=MKMapTypeStandard;
myMapView.delegate=self;
LocationModel *loc=presentGame.location;
NSArray *cordinates=[loc.geoCordinates componentsSeparatedByString:@","];
CLLocationCoordinate2D zoomLocation;
zoomLocation.latitude = [[cordinates objectAtIndex:0] doubleValue];
zoomLocation.longitude= [[cordinates objectAtIndex:1] doubleValue];
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*METERS_PER_MILE, 0.5*METERS_PER_MILE);
// 3
MKCoordinateRegion adjustedRegion = [myMapView regionThatFits:viewRegion];
// 4
[myMapView setRegion:adjustedRegion animated:YES]; [scroll addSubview:myMapView];
Place *pin = [[Place alloc] init];
pin.name = loc.gameLocation;
pin.latitude = [[cordinates objectAtIndex:0] doubleValue];
pin.longitude = [[cordinates objectAtIndex:1] doubleValue];
PlaceMark* Place1 = [[PlaceMark alloc] initWithPlace:pin];
Place1.tagg=1;
[myMapView addAnnotation:Place1];
//end of mapview
- (MKAnnotationView *) MapView: (MKMapView *) mapView1 viewForAnnotation: (id) adnotacja {
static NSString *identifier = @"PlaceMark";
if ([annotation isKindOfClass:[PlaceMark class]]) {
MKPinAnnotationView *annotationView = (MKPinAnnotationView *) [mapView1 dequeueReusableAnnotationViewWithIdentifier:identifier];
annotationView.tag=[mapView1.annotations count];
if (annotationView == nil) {
annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
} else {
annotationView.annotation = annotation;
}
annotationView.enabled = YES;
annotationView.canShowCallout = YES;
return annotationView;
}
return nil;
}
METERS_PER_MILE jest zdefiniowany jako 1609.344 i tak ave zestaw delegata w pliku .h.
Wszystko, co działa dobrze, ale teraz to tylko pokazano siatkę, to pokazując Pin atleaset
Jesteś zbyt blisko powierzchni i nie ma obrazu Ziemi w takiej rozdzielczości =) Przynajmniej był to problem w moim przypadku – Ossir
nie, nie tak, ponieważ wyświetla mapę jakiś czas. proszę podpowiedzieć coś – user100
Sprawdź swoje połączenie internetowe –