मैपकिट का उपयोग कर मानचित्र पर 500 से अधिक अंक प्लॉट कर रहा हूं। मूल Google मानचित्र ऐप की तुलना में ज़ूमिंग थोड़ा सा झटकेदार है। मैंने पाया है कि धीमापन क्या हो रहा है। मैं कस्टम एनोटेशन जोड़ रहा है, ताकि मैं बाद में विस्तार से विचारों के लिए अलग अलग रंग और पिन बटन जोड़ सकते हैं:टबल्सशूटिंग मैपकिट प्रदर्शन
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(AddressNote *) annotation {
MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentlocation"];
annView.pinColor = MKPinAnnotationColorGreen;
annView.animatesDrop=TRUE;
annView.canShowCallout = YES;
annView.calloutOffset = CGPointMake(-5, 5);
return annView;
}
अगर मैं ऊपर कोड बाहर टिप्पणी, सब कुछ ठीक काम करता है। ज़ूम इन/आउट के साथ बहुत चिकनी है। क्या मुझे प्रदर्शन को बढ़ावा देने के लिए अलग-अलग एनोटेशन जोड़ना चाहिए?
क्या आप समझा सकते हैं कि आप कभी भी आलसी लोडिंग को पूरा करने में सक्षम कैसे होंगे? – user230949
जब भी नक्शा स्क्रॉल करता है तो MKMapView अपने प्रतिनिधि को संदेश भेजता है। हर बार ऐसा होता है, दृश्य के अक्षांश और देशांतर डेल्टा को स्टोर करें ताकि आप मानचित्र की बिक्री जान सकें। मूल्य को संग्रहीत करने से पहले, यह देखने के लिए जांचें कि नक्शा पैमाने बढ़ गया है या एनोटेशन की संख्या समायोजित करने के लिए पर्याप्त रूप से संकुचित है या नहीं। यदि ऐसा है, तो बस विस्तृत गणना का स्तर करें। टिप्पणियों की सूची के माध्यम से भागो और उन सभी को गठबंधन करें जो एक दूसरे की एक निश्चित दूरी के भीतर एक नई एनोटेशन में प्रतिनिधित्व करते हैं। यदि उपयोगकर्ता वापस ज़ूम करता है, तो उसे मूल टिप्पणियों के लिए स्वैप करें। – VictorB