मेरे पास एक बड़ी मात्रा में एनोटेशन (3000+) के साथ नक्शा दृश्य है, जब उपयोगकर्ता उचित स्तर पर ज़ूम किया जाता है तो सभी ठीक और तेज़ होते हैं।बड़ी मात्रा में MKMapView एनोटेशन
हालांकि जब उपयोगकर्ता ज़ूम आउट करता है और एनोटेशन की एक बड़ी मात्रा में देखा जाता है तो एक बार में दिखाए जाने वाले एनोटेशन की भारी राशि के कारण बहुत धीमी गति होती है। इसे संभालने का सबसे अच्छा तरीका क्या है?
वर्तमान समाधान मैं उपयोग कर रहा हूँ:
- (void)mapView:(MKMapView *)_mapView regionDidChangeAnimated:(BOOL)animated {
NSArray *annotations = [_mapView annotations];
MapAnnotation *annotation = nil;
for (int i=0; i<[annotations count]; i++)
{
annotation = (MapAnnotation*)[annotations objectAtIndex:i];
if (_mapView.region.span.latitudeDelta > .010)
{
[[_mapView viewForAnnotation:annotation] setHidden:YES];
warningLabel.hidden = NO;
}
else {
[[_mapView viewForAnnotation:annotation] setHidden:NO];
warningLabel.hidden = YES;
}
}
}
महान हालांकि पाश के विशाल आकार के कारण इस धीमी का एक बहुत नीचे का कारण बनता है जब ज़ूम इन और आउट और चारों ओर स्क्रॉल काम करता है। मैं इसे संभालने के बेहतर तरीके के बारे में सोचने के लिए प्रतीत नहीं कर सकता, क्या वर्तमान में प्रदर्शित होने वाली टिप्पणियों या लूप के आकार को कम करने के लिए उन पंक्तियों के साथ कुछ लूप करने का कोई तरीका है?
यह अच्छी तरह से चीजों को बढ़ाता है :) मैं इसे कुछ डंकिम के सुझावों के साथ कार्यान्वित कर दूंगा और सब कुछ बिजली तेज होना चाहिए। – Alex
हाय, मुझे setMapViewsHidden में क्या करना चाहिए? उन एनोटेशन छुपाएं? – Misha
MapViewsHidden एक बूल संपत्ति है। –