मैं काफी MKMapKit की सीमाओं के साथ निराश हो रही है। मेरे वर्तमान समस्या एनोटेशन विचारों का Z- क्रम के साथ क्या करना, विशेष रूप से के रूप में यह अंतिम रूप से संबंधित है है। आप डिफ़ॉल्ट ज़ेड-ऑर्डर स्वीकार करते हैं MapKit आप देता है:
- आदेश यादृच्छिक प्रतीत होता है। ज़ेड-ऑर्डर आदेश एनोटेशन जोड़ा गया था से संबंधित नहीं है।
- एक एनोटेशन एक दूसरे के शीर्ष पर समाप्त होता है, तो शीर्ष टिप्पणी को छू आम तौर पर नीचे टिप्पणी के लिए कॉलआउट को लाता है। इसने हिट का पता लगाने भी ड्रा सम्मान नहीं करता है की तरह लगता है। उसके साथ क्या है?
मैं # 1 को सुलझाने के लिए निम्न कोड वेब पर मिल (जो ज़ेड-ऑर्डर पर कुछ नियंत्रण देने के लिए बनाया गया था) के लिए कुछ इसी तरह का उपयोग कर की कोशिश की है
- (शून्य) MapView: (MKMapView *) MapView didAddAnnotationViews: (NSArray *) विचारों {
के लिए (MKAnnotationView * विचारों में annView) {
TopBottomAnnotation * एन = (TopBottomAnnotation *) [annView एनोटेशन];
अगर ([एन शीर्ष]) {
[[AnnView superview] bringSubviewToFront: annView];
} अन्य {
[[AnnView superview] sendSubviewToBack: annView];
}
}
}
didAddAnnotationViews: एनोटेशन को MapView पारित कर दिया विचारों के माध्यम से चल रहा है और उनके ज़ेड-ऑर्डर को एडजस्ट करने के लिए # 1 ठीक करने के लिए प्रतीत होता है। समस्या यह है कि अब कॉल आउट विचारों एनोटेशन विचारों के शीर्ष पर नहीं रह गया है हमेशा से रहे हैं है। MapKit बहुत परतों (कॉलआउट सभी एनोटेशन विचारों के ऊपर एक परत में तैयार किया जाना चाहिए) के बारे में भ्रमित हो रहा है। मैं भी पता लगा सकते हैं कि यह कैसे भ्रमित हो रही है के बाद से सभी MKAnnotationViews आपको प्राप्त एक ही superview (एक निजी वर्ग MKOverlayView) है। आप किसी भी उचित डिजाइन इस ओवरले दृश्य के बारे में कॉल आउट ड्रा करेंगी लगता होगा।
किसी को भी # 1 या # 2 सफलतापूर्वक हल है?













