MKMapView und setRegion: animierte: Aktualisierung nicht die Karte Visuals

stimmen
4

Schöne Grüße! Ich bin versucht zu verwenden MKMapView ohne Apple - Code - Beispiele, obwohl es ein paar andere sind da draußen Klarheit zu variieren. (Ich weiß, „Lesen Sie das freundliche Handbuch.“ Ich habe das getan , aber es ist nicht 100% klar, so tragen Sie bitte mit mir in diesem Fall.)

Hier ist die Situation. Ich habe ein MKMapView Objekt, wobei ich eine Reihe von etwa zehn hinzugefügt haben MKPinAnnotation Objekte. So weit, ist es gut. Alles ist alloced / freigegeben sanely und es scheint keine Beschwerden von Instrumenten zu sein.

Bei der anfänglichen Anzeige, setzte ich ein bis MKCoordinateRegion Objekt mit dem Mittelpunkt bei unserer ersten Stiftposition und eine (beliebige) Spanne von 0,2 x 0,2. Ich habe dann rufen:

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];

Beeindruckend! Das hat gut funktioniert.

Inzwischen ... Ich habe auch eine segmentierte Steuerung für Bewegung an jeder Nadelstelle zu ermöglichen. So , wie ich durch die Liste tippen, beseelt die Karte auf jede neue Stiftposition mit einem neuen Paar Anrufen setRegion: animated: und regionThatFits: ... oder zumindest das ist die Idee.

Während die Karte tut „Reise“ auf die neue Pin Lage, sich die Karte nicht aktualisiert darunter. Stattdessen sehe ich meinen Stift auf einem grauen / Blank-Karte Hintergrund ... bis ich die Karte in jede Richtung schubsen, aber leicht. Dann zeigt die Karte durch! (Wenn ich nur in kurzer Entfernung von der vorherige Stiftposition zu bewegen, werde ich in der Regel sehen , was Teil der Karte wurde bereits geladen.)

Ich vermute , ich tue etwas Dummes hier, aber ich habe nicht in der Lage , herauszufinden , was, zumindest nicht von dem MapKit docs. Vielleicht verwende ich die falschen Anrufe? (Na ja, ich brauche die Region mindestens einmal zu setzen, ja bewegen , dass um nicht obwohl zu helfen scheint?) . Ich habe auch versucht , mit setCenterCoordinate: animierte: - gleiches Problem.

Ich gehe davon aus nichts an diesem Punkt (kein Wortspiel beabsichtigt). Ich versuche nur, meinen Weg zu finden.

Clues willkommen / geschätzt!

UPDATE: Aufruf setRegion: animated: und regionThatFits: das erste Mal, gefolgt von setCenterCoordinate: animierte: während die Liste durchlaufen, ohne Wirkung. Interessante Erkenntnis aber: Wenn ich auf NO in beiden Fällen animiert ändern, werden die Karten - Updates !!! Nur wenn es auf YES gesetzt. (Wha passieren ?! animiert: gebrochen Das kann nicht sein ... ???)

Veröffentlicht am 08/07/2009 um 01:14
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
6

Es stellt sich heraus , dass die Karten - Update funktioniert nicht , wenn Verwendung des Simulators. Wenn ich versuche , setCenterCoordinate: animated: auf dem Gerät, ich tun unterhalb der Karten - Update erhalten.

Fazit: Ich war der Simulator im Vertrauen das Gerät in Bezug auf die Kartenaktualisierungsverhalten anzupassen. Ach, ich irrte! Lektion gelernt. „Lass es dir nicht passieren.“ :)

Beantwortet am 28/07/2009 um 13:14
quelle vom benutzer

stimmen
2

Sie müssen den aufzurufen setRegion:animated:Aufruf im Hauptthread Kontext. Tun Sie einfach so etwas wie:

....
[self performSelectorOnMainThread:@selector(updateMyMap) withObject:nil waitUntilDone:NO];

}

-(void) updateMyMap {
    [myMap setRegion:myRegion animated:YES];    
}

und es soll mit der Karte in jedem Fall (animierte oder nicht), arbeitet unter aktualisiert.

Beantwortet am 27/07/2009 um 13:11
quelle vom benutzer

stimmen
0

Auch wenn dies ein altes Thema dachte ich, dass ich mit meiner Erfahrung Ring in würde. Es scheint, die Karte Animation nicht nur auf Geräten mit iOS 3.1.x und den Simulator laufen 3.1.x Mein dev iPod touch mit 3.1.3 nicht zu vergrößern, wenn Animation eingeschaltet ist.

Beantwortet am 07/10/2010 um 15:40
quelle vom benutzer

stimmen
0

Hum seltsam. Das Karten-Updates auf dem Mac auch im Simulator. Vielleicht ein Netzwerkeinstellungen (Proxy oder was auch immer), die die Karte Widget verhindern würden die Fliesen auf dem Simulator zum Download?

Beantwortet am 31/07/2009 um 09:17
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more