2013-12-13 10 views
5

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

+0

Jesteś zbyt blisko powierzchni i nie ma obrazu Ziemi w takiej rozdzielczości =) Przynajmniej był to problem w moim przypadku – Ossir

+0

nie, nie tak, ponieważ wyświetla mapę jakiś czas. proszę podpowiedzieć coś – user100

+1

Sprawdź swoje połączenie internetowe –

Odpowiedz

0

Symulator iOS pochodzi z oficjalnej aplikacji zawiera map. Otwórz to i sprawdź, czy może pobierać płytki, może to być problem z siecią. Jeśli aplikacja Mapy nie wyświetla żadnych kafelków, masz problemy z siecią.

można spróbować poprzez wyłączenie animacji zmieniając linię

[myMapView setRegion:adjustedRegion animated:YES]; 

Przez

[myMapView setRegion:adjustedRegion animated:NO]; 
+0

Tak, sprawdzam aplikację mapową na symulatorze, która pokazuje również tylko płytki. co teraz robię. – user100

+0

To jest twój problem z siecią ... –

+0

Ok. dzięki za sugestię – user100

8

miałem ten sam problem MKMap przedstawia tylko siatka nie pokazuje widok mapy. Odkryłem, że było to związane ze zmianą wprowadzoną w czasie/dniu na moim macu. Kiedy ustaliłem godzinę i datę na aktualny czas, mapa znów działała.

Powiązane problemy