Dostaję dość sfrustrowany ograniczeń MKMapKit. Mój obecny problem ma zrobić z oo zamawiania poglądów adnotacji, szczególnie odnosi się ona do akcentami. Jeśli przyjąć domyślną z-Zamów mapkit daje:
- Kolejność pojawia losowy. Z-zamówienie jest związana z celem adnotacje dodano.
- Jeżeli jeden Adnotacja kończy się na górze drugiego, dotykając górnej adnotacje na ogół prowadzi się objaśnienie do dolnej adnotacji. Wydaje się, że wykrywania przeboju nawet nie przestrzegają kolejność rysowania. Co z tego?
Próbowałem rozwiązywania nr 1 przy użyciu coś podobnego do następującego kodu znalezionego w internecie (który został zaprojektowany, aby dać pewną kontrolę nad Z-order)
- (void) MapView: (MKMapView *) MapView didAddAnnotationViews: (NSArray *) widokach {
for (MKAnnotationView * annView w widokach) {
TopBottomAnnotation * Ann = (TopBottomAnnotation *) [annView Adnotacja];
if ([Ann góry]) {
[[AnnView Superview] bringSubviewToFront: annView];
} Else {
[[AnnView Superview] sendSubviewToBack: annView];
}
}
}
Przejazd przez widokach adnotacji przekazywanych MapView: didAddAnnotationViews: i dostosowanie ich kolejności z wydaje się naprawić # 1. Problemem jest to, że teraz poglądy objaśnień nie są już zawsze na wierzchu do widoków adnotacji. MapKit wydaje się bardzo pomylić o warstwach (objaśnienia powinny być sporządzone w warstwie powyżej wszystkich widokach adnotacji). Mogę nawet dowiedzieć się, jak to jest uzyskiwanie mylić ponieważ wszystkie MKAnnotationViews otrzymasz mają taką samą Superview (prywatną klasę MKOverlayView). Można by pomyśleć, każdy rozsądny projekt będzie wyciągnąć objaśnienia na temat tego widoku nakładki.
Czy ktoś rozwiązał nr 1 lub nr 2 z powodzeniem?













