पर रीफ्रेश करें, मैं अपने कस्टम MKAnotationView के लिए छवियों को सिंक्रनाइज़ रूप से लोड करना चाहता हूं; मैं पहले से ही EGOImageView-framework का उपयोग कर रहा हूं (यह UITableViews के साथ बहुत अच्छी तरह से चला जाता है), लेकिन मैं इसे MKMapView पर काम करने में विफल रहता हूं। छवियों को लोड किया प्रतीत होता है, लेकिन मैं उन्हें मानचित्र पर रीफ्रेश नहीं कर सकता - [myMap setNeedsDisplay]
कुछ भी नहीं करता है।MKAnnationView को MKMapView
उत्तर
मैं इसे अपने आप की कोशिश की है नहीं है, लेकिन यह काम हो सकता है:
MKMapView - (MKAnnotationView *)viewForAnnotation:(id <MKAnnotation>)annotation
विधि का उपयोग कर टिप्पणी के लिए विचार प्राप्त करें और इसे करने के लिए नई छवि निर्धारित किया है।
संपादित करें: कि अपने आप करने की कोशिश की और इस दृष्टिकोण मेरे लिए ठीक काम किया:
// Function where you got new image and want to set it to annotation view
for (MyAnnotationType* myAnnot in myAnnotationContainer){
MKAnnotationView* aView = [mapView viewForAnnotation: myAnnot];
aView.image = [UIImage imageNamed:@"myJustDownloadedImage.png"];
}
इस विधि सभी एनोटेशन छवियों को अद्यतन किया गया कॉल करने के बाद।
यही एक रास्ता है मैं MKAnnotationViews की redraw मजबूर करने के लिए मिल गया है है: मानचित्र दृश्य के
// बल अद्यतन (अन्यथा एनोटेशन विचारों पुनः बनाने नहीं होगा)
CLLocationCoordinate2D केंद्र = mapView.centerCoordinate;
mapView.centerCoordinate = center;
बेकार लगता है, लेकिन यह काम करता है।
मैं एनोटेशन अद्यतन करने के लिए केवल एक विश्वसनीय रास्ता मिल गया है, दूसरों के तरीकों मेरे लिए काम नहीं किया: बस को दूर करने और एनोटेशन फिर से जोड़ने:
id <MKAnnotation> annotation;
// ...
[mapView removeAnnotation:annotation];
[mapView addAnnotation:annotation];
इस कोड को कर देगा - [MapView: viewForAnnotation:] होने के लिए फिर से बुलाया जाता है और इसलिए आपका एनोटेशन व्यू फिर से बनाया जाएगा (या यदि आप सही डेटा के साथ dequeueReusableAnnotationViewWithIdentifier का उपयोग करते हैं तो पुन: उपयोग किया जाएगा।
मैं एकल तकनीक एनप्रेशन रीफ्रेशमेंट – nurxyz
I के लिए इस तकनीक का उपयोग कर समाप्त हुआ। मैं इस विधि का उपयोग करने की कोशिश कर रहा हूं, और इसलिए यह काम करना चाहता है, लेकिन यह ज़ूम स्तर के आधार पर भरोसेमंद व्यवहार नहीं कर रहा है। कभी-कभी पिन बहुत अधिक बाएं/दाएं से ऑफसेट दिखाई देता है, और कॉलआउट अब नहीं है गठबंधन।(यह पिन छवियों के साथ है जिसमें सूक्ष्म परिवर्तन हैं लेकिन छवि के बहुत ही केंद्र में पिन 'केंद्र' के साथ संरचना में अन्यथा समान हैं।) हम्म ... –
हाँ मुझे उनको ताज़ा करने के लिए फिर से गहन रूप से जोड़ना पड़ा। – coolcool1994
यह मैं
#import "EGOImageView.h"
- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
//ENTER_METHOD;
if([annotation isKindOfClass:[MKUserLocation class]]) return nil;
MKPinAnnotationView *annView;
static NSString *reuseIdentifier = @"reusedAnnView";
annView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:reuseIdentifier];
annView.canShowCallout = YES;
annView.calloutOffset = CGPointMake(-5.0f, 0.0f);
annView.opaque = NO;
annView.image = [[UIImage imageNamed:@"tempImage.png"] retain];
YourModel *p = annotation; // make this conform to <MKAnnotation>
EGOImageView *egoIV = [[EGOImageView alloc] initWithPlaceholderImage:[UIImage imageNamed:@"tempImage.png"]];
[egoIV setDelegate:self];
egoIV.imageURL = [NSURL URLWithString:p.theUrlToDownloadFrom];
[annView addSubview:egoIV];
[egoIV release];
return [annView autorelease];
}
के लिए काम किया (मुझे इंगित करने के लिए कैसे है कि इस पोस्ट के zerodiv का जवाब संबंधित नहीं दिख रहा है।) मैं तरह की एक किकस्टार्ट जोड़कर काम करने के लिए विधि zerodiv के प्राप्त करने में सक्षम था, के लिए मजबूर एक अर्थहीन लेकिन अलग समन्वय, फिर पूर्व, सही एक बहाल करना। पहली जगह की वजह से स्क्रीन बिल्कुल फ्लैश नहीं होती है।
CLLocationCoordinate2D center = mapView.centerCoordinate;
CLLocationCoordinate2D forceChg;
forceChg.latitude = 0;
forceChg.longitude = curLongNum;
mapView.centerCoordinate = forceChg;
mapView.centerCoordinate = center;
- 1. MKMapView
- 2. MKMapView
- 3. MKMapView
- 4. MKMapview
- 5. MKMapView
- 6. MKMapView
- 7. MKMapView
- 8. MKMapView
- 9. MKMapView
- 10. MKMapView
- 11. MKMapView रोटेशन
- 12. एक MKMapView
- 13. MKMapView EXC_BAD_ACCESS
- 14. कैसे MKMapView
- 15. MKMapView mapTypes
- 16. MKAnnotation MKMapView
- 17. एक MKMapView में स्क्रॉलिंग को रोकें, जब
- 18. MKMapView में MKCircle को स्थानांतरित करना
- 19. फोर्स MKMapView viewForAnotation
- 20. ज़ूम किए गए MKMapView
- 21. बदलने पिन रंग MKMapView
- 22. आहरण MKMapView ओवरले
- 23. MKMapView पर UIPanGestureRecognizer?
- 24. MKMapView एक UITableViewCell
- 25. क्या हम MKMapView
- 26. MKMapView मार्ग/दिशा-निर्देश
- 27. MKMapView -> मेरे स्थान
- 28. MKMapView के टाइल्स साफ़ करें?
- 29. MKMapView एनोटेशन बदलना/खोना आदेश?
- 30. MKMapView गलत तरीके से क्षेत्र
इस तरह यह अभी किया गया है। लेकिन इस तरह छवि को सिंक्रनाइज़ रूप से लोड किया जाता है। – cocoapriest
और यदि छवि लोड होने के बाद आप इसे कॉल करते हैं और इस छवि को दृश्य में सेट करते हैं - क्या यह काम नहीं करता है? – Vladimir
यह सवाल है - बाद में इस छवि को कैसे सेट करें। ऐसा करने से, छवि MKAnotationView – cocoapriest