Πώς να ανοίξετε φωνάζουν MKAnnotationView προγραμματισμού; (IPhone, MapKit)

ψήφοι
26

Θέλω να ανοίξει η επεξήγηση για έναν MKPinAnnotationViewπρογραμματισμό. Για παράδειγμα, έχω πέσει 10 καρφίτσες στο χάρτη, και θέλετε να ανοίξει η μία πιο κοντά σε μένα. Πώς θα κάνετε για αυτό;

Η Apple έχει καθορίσει το «επιλεγμένο» παράμετρος για MKAnnotationView's, αλλά αποθαρρύνει την ρύθμιση άμεσα (αυτό δεν λειτουργεί, το δοκίμασα).

Για το υπόλοιπο MKAnnotationViewέχει μόνο ένα setHighlighted ( ίδια ιστορία ), και μπορεί ShowCalloutμέθοδος ..

Οποιεσδήποτε υποδείξεις, αν αυτό είναι δυνατό σε όλα;

Δημοσιεύθηκε 03/02/2010 στις 18:16
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
77

Σε mapViewController σας δημιουργούν μια μέθοδο δράσης:

- (void)openAnnotation:(id)annotation 
{
    //mv is the mapView
    [mv selectAnnotation:annotation animated:YES];

}

Στη συνέχεια μπορείτε να προσδιορίσετε το πιο κοντινό σχολιασμό με βάση την τρέχουσα θέση και το περπάτημα στους σχολιασμούς διαθέσιμες στη συστοιχία.

[mv annotations];

Μόλις το πιο κοντινό σχολιασμό υπολογίζεται, καλέστε:

[self openAnnotation:closestAnnotation];

Η MapView θα πρέπει να μεταβείτε αυτόματα να τοποθετήσει σχολιασμό σας στο κέντρο της περιοχής προβολής.

Απαντήθηκε 26/02/2010 στις 05:45
πηγή χρήστη

ψήφοι
1

Στην ταχεία 3 αυτό ενημερώνεται για:

func openAnnotation(annotation: MkAnnotation) {
_ = [mapView .selectAnnotation(annotation, animated: true)]
}

και μπορεί να κληθεί με τη χρήση οποιουδήποτε σχολιασμού (αυτό θα ανοίξει την άποψη επεξήγηση σχολιασμό και προσπαθούν να κεντράρετε το σχολιασμό στο χάρτη)

Για παράδειγμα, χρησιμοποιώντας τη δεύτερη σχολιασμό σε μια υποθετική λίστα των σχολιασμών.

openAnnotation(annotation: mapView.annotations[1])
Απαντήθηκε 23/05/2017 στις 16:14
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more