J'utilise un MapView et j'y ajuste des annotations (broches violettes) et mon emplacement d'utilisateur (qui est un cercle bleu). Étant donné que les annotations de broche violettes se déplaceront, je dois les supprimer et les définir de nouveau sur la carte.iPhone - supprimer les annotations de broche de la carte, mais pas le mien
Je l'ai mis avec:
CLLocationCoordinate2D coordinate;
coordinate.latitude = 49.2802;
coordinate.longitude = -123.1182;
NSUInteger count = 1;
for(int i = 0; i < 10; i++) {
CGFloat latDelta = rand()*.035/RAND_MAX - .02;
CGFloat longDelta = rand()*.03/RAND_MAX - .015;
CLLocationCoordinate2D newCoord = {coordinate.latitude+latDelta, coordinate.longitude+longDelta};
MyMapAnnotation* annotation = [[MyMapAnnotation alloc] initWithCoordinate:newCoord andID:count++];
[mapView addAnnotation:annotation];
[annotation release];
}
Avant cela, je fais un
[mapView removeAnnotations:mapView.annotations];
mais cette ligne également supprimer mon emplacement avec le point bleu! Comment est-ce que je pourrais faire ceci sans enlever mon emplacement.
Merci beaucoup à l'avance & Cordialement.
Hm, comment pourrais-je l'améliorer? Parce que je fais: - (MKAnnotationView *) Mapview: (MKMapView *) mapViewLocal viewForAnnotation: (id) {annotation \t if (annotation == mapViewLocal.userLocation) { \t \t mapViewLocal.userLocation.title = @ "Tester"; \t \t mapViewLocal.userLocation.subtitle = @ "Test Sub"; \t \t [mapViewLocal setRegion: MKCoordinateRegionMakeWithDistance (mapViewLocal.userLocation.coordinate, 3000, 3000) animé: NO]; \t \t retour nul; \t} ... Donc, je vais toujours définir mon emplacement dans le centre. Et le point bleu n'apparaît pas. Je dois déplacer le MapView, puis le point bleu sera affiché. –
Tim
Pour obtenir une vue de la carte avec les annotations au centre, parcourez-les en boucle et trouvez la latitude et la longitude max et min, puis réglez l'étendue de la région et le centre en utilisant celles-ci. Si vous souhaitez inclure l'emplacement de l'utilisateur dans les annotations, assurez-vous qu'il est affiché en utilisant la méthode que j'ai écrite ci-dessus. 'MKMapView' a une propriété appelée' annotations' qui stocke toutes les annotations (y compris l'emplacement de l'utilisateur). Si vous voulez juste centrer la carte sur l'emplacement de l'utilisateur, utilisez 'setCenterCoordinate: animated:' –
Si vous pouvez épargner 5 $, ce tutoriel m'a vraiment aidé à comprendre les vues de la carte: http://pragprog.com/screencasts/v-bdmapkit/ using-map-kit –