Σε εφαρμογή iphone μου, είμαι με τη χρήση MapKit με MKMapView και προσαρμοσμένες MKAnnotationView.
Το πρόβλημα είναι όταν σχόλια επικαλύπτονται στο χάρτη (στο app μου, σχολιασμοί είναι φωτογραφίες και αυτές οι φωτογραφίες μπορούν να επικαλύπτονται) και όταν πατήσετε στο σχολιασμό που εμφανίζεται στο μπροστινό μέρος, αυτό είναι ένα άλλο σχολιασμό (στην πλάτη), η οποία λαμβάνει την εκδήλωση (φαίνεται να είναι τυχαία ).
Δεν βρήκα κανένα τρόπο να στείλετε το συμβάν στο μέτωπο σχολιασμό. Δεν μπορώ να πιστέψω αυτό το bug / πρόβλημα δεν έχει λύση!
Ζ παραγγελία και Τάξης του επικαλυπτόμενων σχολιασμούς ερωτήσεις σχετικά με Stackoverflow δεν με βοηθήσει τόσο πολύ.
Παρακαλούμε κάθε ιδέα είναι ευπρόσδεκτη (ακόμη και βρώμικο λύσεις)!
Εδώ είναι μερικές από τις κωδικού μου (τίποτα ιδιαίτερο, πολύ συχνές):
CustomAnnotation.h
@interface CustomAnnotation : NSObject <MKAnnotation> {
@private
CustomAnnotationView* view;
}
@property (nonatomic, retain) CustomAnnotationView* view;
@end
CustomAnnotation.m
@implementation CustomAnnotation
@synthetize view;
CustomAnnotationView.h
@interface CustomAnnotationView : MKAnnotationView {
}
@end
CustomAnnotationView.m
@implementation CustomAnnotationView
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
// Do something related to the annotation tapped
}
@end
Κύρια κατηγορία ... // Οι σχολιασμοί προστίθενται και ορισμένα από αυτά συμπίπτει με τους άλλους.
- (void)addAnnotation:(CustomAnnotation*)annotation {
[map addAnnotation:annotation];
}
...
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
NSString* identifier = getIdentifierFromAnnotation(annotation);
CustomAnnotationView* view;
if(!(view = (CustomAnnotationView*)[map dequeueReusableAnnotationViewWithIdentifier:identifier])) {
view = [[CustomAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier: identifier];
[(CustomAnnotation*)annotation setView:view];
[view release];
}
return view;
}













