MKMapView και setRegion: κινουμένων σχεδίων: Δεν ενημέρωση των visuals χάρτη

ψήφοι
4

Χαιρετίσματα! Είμαι προσπαθεί να χρησιμοποιήσει MKMapView χωρίς δείγματα κώδικα της Apple, αν και υπάρχουν μερικές άλλοι εκεί έξω ποικίλης σαφήνεια. (Ξέρω, «Διαβάστε το φιλικό εγχειρίδιο.» Έχω κάνει αυτό, αλλά δεν είναι 100% σαφές, γι 'αυτό παρακαλώ να φέρει μαζί μου σε αυτό το σημείο.)

Εδώ είναι η κατάσταση. Έχω ένα MKMapView αντικείμενο, όπου έχω προσθέσει ένα σύνολο περίπου δέκα MKPinAnnotation αντικείμενα. Μέχρι εδώ καλά. Τα πάντα είναι alloced / απελευθερώνεται σωφρονώς και εκεί δεν φαίνεται να υπάρχουν παράπονα από Instruments.

Κατά την αρχική οθόνη, έχω δημιουργήσει ένα MKCoordinateRegion αντικείμενο με το κεντρικό σημείο στην πρώτη μας θέση καρφίτσα, και μια (αυθαίρετη) έκταση 0,2 x 0,2. Στη συνέχεια τηλεφωνήστε:

[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];

Ουάου! Αυτό λειτούργησε καλά.

Εν τω μεταξύ ... Έχω επίσης κατά διαστήματα έλεγχο για να καταστεί δυνατή η κυκλοφορία σε κάθε θέση pin. Έτσι όπως αγγίξτε τη λίστα, ο χάρτης δίνει ζωή σε κάθε νέα θέση καρφίτσα με ένα νέο ζευγάρι των κλήσεων προς setRegion: κινουμένων σχεδίων: και regionThatFits: ... ή τουλάχιστον αυτή είναι η ιδέα.

Ενώ ο χάρτης δεν «ταξιδεύουν» στη νέα θέση pin, ο ίδιος ο χάρτης δεν ενημερώνει από κάτω. Αντ 'αυτού, βλέπω καρφίτσα μου σε γκρι / φόντο κενό χάρτη ... μέχρι που ωθήσει το χάρτη προς οποιαδήποτε κατεύθυνση, έστω και ελάχιστα. Στη συνέχεια, ο χάρτης δείχνει μέσα! (Αν είμαι κινείται μόνο σε μικρή απόσταση από την προηγούμενη θέση καρφίτσα, θα δείτε συνήθως ό, τι μέρος του χάρτη έχει ήδη φορτωθεί.)

Υποψιάζομαι ότι κάνω κάτι χαζό εδώ, αλλά δεν ήταν σε θέση να καταλάβω τι, τουλάχιστον όχι από τα έγγραφα MapKit. Ίσως είμαι χρησιμοποιώντας το λάθος κλήσεις; (Καλά, εγώ πρέπει να ορίσετε την περιοχή τουλάχιστον μία φορά, ναι Μετακίνηση ότι περίπου δεν φαίνεται να βοηθούν όμως;.) Έχω επίσης δοκιμάσει τη χρήση setCenterCoordinate: κινουμένων σχεδίων: - ίδιο πρόβλημα.

Υποθέτω τίποτα σε αυτό το σημείο (λογοπαίγνιο δεν προορίζονται). Απλά προσπαθεί να βρει το δρόμο μου.

Ενδείξεις καλωσορίζουμε / εκτίμησα!

UPDATE: Κλήση setRegion: κινουμένων σχεδίων: και regionThatFits: την πρώτη φορά, που ακολουθείται από setCenterCoordinate: κινουμένων σχεδίων: ενώ διέρχονται από τη λίστα, δεν έχει κανένα αποτέλεσμα. Ενδιαφέρον εύρημα όμως: Αν αλλάξω κινουμένων σχεδίων με ΟΧΙ και στις δύο περιπτώσεις, οι ενημερώσεις χάρτη !!! Μόνο όταν έχει ρυθμιστεί σε Ναι. (Wha συμβεί ?! Είναι κινουμένων σχεδίων: σπασμένα Αυτό δεν μπορεί να είναι ... ???)

Δημοσιεύθηκε 08/07/2009 στις 01:14
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
6

Αποδεικνύεται ότι η ενημέρωση χάρτη δεν λειτουργεί κατά τη χρήση του προσομοιωτή. Όταν προσπαθώ setCenterCoordinate: κινουμένων σχεδίων: στη συσκευή, θα κάνει να πάρει την ενημερωμένη έκδοση του χάρτη από κάτω.

Η κατώτατη γραμμή: Ήμουν εμπιστευθεί τον προσομοιωτή για να ταιριάζει με τη συσκευή από την άποψη της συμπεριφοράς χάρτη ενημέρωση. Δυστυχώς, έκανα λάθος! Πήρα το μάθημα μου. «Μην αφήστε αυτό να συμβεί σε σας.» :)

Απαντήθηκε 28/07/2009 στις 13:14
πηγή χρήστη

ψήφοι
2

Χρειάζεται να επικαλεστεί την setRegion:animated:κλήση στο κεντρικό πλαίσιο νήμα. Ακριβώς κάνετε κάτι σαν:

....
[self performSelectorOnMainThread:@selector(updateMyMap) withObject:nil waitUntilDone:NO];

}

-(void) updateMyMap {
    [myMap setRegion:myRegion animated:YES];    
}

και θα πρέπει να λειτουργεί σε κάθε περίπτωση (κινούμενη ή μη), με τον χάρτη ενημέρωση από κάτω.

Απαντήθηκε 27/07/2009 στις 13:11
πηγή χρήστη

ψήφοι
0

Ακόμα κι αν αυτό είναι ένα παλιό θέμα σκέφτηκα ότι θα χτυπήσει με την εμπειρία μου. Φαίνεται ότι η κίνηση χάρτη αποτύχει μόνο σε συσκευές που τρέχουν iOS 3.1.x και τον προσομοιωτή τρέχει 3.1.x. dev μου iPod touch με το 3.1.3 αποτυγχάνει να μεγεθύνετε αν animation είναι ενεργοποιημένη.

Απαντήθηκε 07/10/2010 στις 15:40
πηγή χρήστη

ψήφοι
0

Hum παράξενο. Οι ενημερώσεις των χαρτών στο Mac μου, ακόμη και στον προσομοιωτή. Ίσως μια ρύθμιση δικτύου (proxy ή οτιδήποτε άλλο) που θα απέτρεπε το widget χάρτη για να κατεβάσετε τα κεραμίδια για τον προσομοιωτή;

Απαντήθηκε 31/07/2009 στις 09:17
πηγή χρήστη

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