2014-12-18 6 views
14

Ich habe ein Problem in MKMapView in iOS 8.x.x. Anwendung funktioniert gut iOS 7.x.x aber nicht in iOS 8.x.x. Auf dem Gerät werden nur Anmerkungen, aber keine Karte angezeigt.MKMapView nicht Rendering in iOS 8 oder höher

Ich versuchte gewaltsam mein Gerät zurückzusetzen, aber kein Glück.

Ich habe diese 2 Werte in info.plist sowie es eine Voraussetzung für iOS 8 und weiter

<key>NSLocationAlwaysUsageDescription</key> 
<string>Location is required to find out where you are</string> 
<key>NSLocationWhenInUseUsageDescription</key> 
<string>Location is required to find out where you are</string> 
in meinem viewDidLoad

und hinzugefügt, um diese Zeilen Code war.

// Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7. 
    if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) 
    { 
     [self.locationManager requestWhenInUseAuthorization]; 
     //[self.locationManager requestAlwaysAuthorization]; 
     self.myMapView.showsUserLocation = YES; 
    } 

diese 2 Werte in info.plist und die obigen Zeilen Code Durch das Hinzufügen, ich bin in der Lage den Standort des Nutzers und Kommentierung in zeigt auf der Karte bekommen für Benutzer-Lage, aber Karte ist Blank.

ähnlich zu diesem Beitrag: MKMapView showing blank screen in iOS 8

Blank Map View with annotation

+0

Jeder ......? –

Antwort

19

Haben die gleiche Sache auf IOS8.3 beide sim und Gerät. Durch Ausführen des Systems Maps App (es wurde auch leeres Gitter angezeigt) für eine Minute gelöst, bis es Karten heruntergeladen hat. Danach begann mein MKMapView wie gewohnt zu rendern.

+0

Schöne Antwort. Für mich geht das. Danke @Pawel – alishaik786

+2

Wir haben das gleiche Problem und dieser "Patch" funktioniert auch für uns. IMO, es ist nicht sinnvoll, den Nutzer aufzufordern, die Google Maps App zu öffnen und zu Ihrer App zurückzukehren. Gibt es eine Möglichkeit, Karten zu aktualisieren und/oder Karten herunterzuladen? Vielen Dank. – esylvestre

+0

Dieses Problem ist bei mir aufgetreten, da die Google Maps App auf dem Testgerät noch nie geöffnet wurde. Sobald es geöffnet wurde, musste ich die Vereinbarungen akzeptieren, jetzt lädt meine eigene Karte jedes Mal perfekt. – Leon

3

versuchen, die Delegatmethoden hinzufügen:
- (void)mapViewWillStartLoadingMap:(MKMapView *)mapView; - (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView; - (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error; und die Lösung für Sie informieren Nachricht Fehler.

überprüfen auch this Lösung ich nicht loswerden der grind bekam aber zumindest habe ich der didFail Fehler beseitigen.

scheint aber ein Problem von iOS8 zu sein, weil auf iOS8.3 der gleiche Code funktioniert.

Verwandte Themen