MKMapView a setRegion: animovaný: ne aktualizaci mapových vizuální

hlasů
4

Pozdravy! Já jsem se snaží používat MKMapView bez jakýchkoli vzorků Apple kódů, ačkoli existuje několik dalších se tam různou jasnost. (Já vím, „Přečtěte si přátelskou návod k použití.“ Udělal jsem to, ale není to 100% jasné, takže mějte se mnou na tohle.)

Zde je situace. Mám MKMapView objekt, kde jsem přidal sadu asi deset MKPinAnnotation objektů. Zatím je vše dobré. Vše je alloced / propuštěn zdravě a tam se nezdá být žádné stížnosti od nástroje.

Po počáteční zobrazení, nastavení jsem si MKCoordinateRegion objekt s centerpoint v naší první umístění kolíků a (libovolný) rozpětí 0,2 x 0,2. Pak říkám:

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

Wow! To fungovalo dobře.

Mezitím ... Mám také segmentovaný ovládání pro umožnění přesunu do každé umístění čepu. Takže když jsem klepněte v seznamu, mapa se pohybuje na každý nový pin lokalitě s novou dvojicí volání setRegion: animovaný: a regionThatFits: ... nebo alespoň, že je to nápad.

Zatímco mapa dělá „cestovat“ do nového umístění pin, samotná mapa neaktualizuje vespod. Místo toho, vidím svůj PIN na šedém / blank-mapovém podkladu ... dokud mi pošťuchovat mapy v jakémkoli směru, avšak jen nepatrně. Poté se mapa prosvítá! (Pokud jsem jen pohybující se v krátké vzdálenosti od předchozího umístění kolíků, budu obvykle vidět kteroukoli část mapy již byl zaveden.)

Mám podezření, že dělám něco hloupého tady, ale já jsem nebyl schopen přijít na to, co, alespoň ne z MapKit dokumenty. Možná jsem s použitím nesprávné volání? (No, já třeba nastavit oblast alespoň jednou, ano Přesun že asi nevypadá, že pomůže i když?). Také jsem se snažil pomocí setCenterCoordinate: animovaný: - stejný problém.

Jsem za předpokladu, že nic v tomto bodě (žádná slovní hříčka určena). Jen se snažím najít svou cestu.

Clues vítejte / ocenil!

UPDATE: Volání setRegion: animovaný: a regionThatFits: na prvním místě, následuje setCenterCoordinate: animovaný: zatímco křížení seznamu, nemá žádný vliv. Zajímavým zjištěním však: když změním animovaný na NO v obou případech aktualizace map !!! Pouze tehdy, když je nastavena na hodnotu YES. (Wha stalo ?! animované? Rozbité To nemůže být ... ???)

Položena 08/07/2009 v 01:14
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
6

Ukazuje se, že aktualizace map nefunguje při použití simulátoru. Když se pokusím setCenterCoordinate: animovaný: na zařízení, já provést získat aktualizaci map vespod.

Sečteno a podtrženo: Byl jsem důvěřivý simulátoru tak, aby odpovídala zařízení, pokud jde o chování mapa aktualizace. Bohužel jsem se mýlil! Ponaučení. „Nedovolte, aby se to stalo vám.“ :)

Odpovězeno 28/07/2009 v 13:14
zdroj uživatelem

hlasů
2

Musíte k vyvolání setRegion:animated:hovoru v hlavním závitem kontextu. Jen něco takového:

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

}

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

a to by mělo fungovat v každém případě (animované či nikoliv), s mapou pod aktualizován.

Odpovězeno 27/07/2009 v 13:11
zdroj uživatelem

hlasů
0

I přesto, že se jedná o staré téma Myslel jsem, že prsten se mých zkušeností. Zdá se, že mapa animace selže pouze v zařízeních se systémem iOS 3.1.x a simulátor běžící 3.1.x. Můj dev iPod touch s 3.1.3 nedokáže přiblížit, pokud animace je zapnutá.

Odpovězeno 07/10/2010 v 15:40
zdroj uživatelem

hlasů
0

Hum podivné. Tyto aktualizace map na mém počítači Mac i na simulátoru. Možná nastavení sítě (proxy nebo cokoliv), které by bránily mapy widget stáhnout dlaždic na simulátoru?

Odpovězeno 31/07/2009 v 09:17
zdroj uživatelem

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