En mode Carte, je montre l'emplacement actuel de l'utilisateur. Sur le clic sur l'épingle son affichage "Current Location". Je veux le changer en "My Current Location". Comment puis-je le changer. Je souhaite également modifier la couleur de la broche de l'emplacement actuel de l'utilisateur dans une minuterie. Quelque chose comme chaque seconde, il devrait changer sa couleur entre le vert, le violet et le rouge. Possible de le faire?iPad Mapkit - Modifier le titre de "Emplacement actuel"
J'utilise l'emplacement par défaut de show kit de carte, puis manipuler la broche annotation couleur comme ci-dessous:
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation{
static NSString *AnnotationViewID = @"annotationViewID";
SolarAnnotationView* annotationView = (SolarAnnotationView*)[map dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];
if(annotationView == nil)
{
if([self CLLocationCoordinate2DEquals:mapView.userLocation.location.coordinate withSecondCoordinate:[annotation coordinate]]) //Show current location with green pin
{
annotationView = [[SolarAnnotationView alloc] initWithAnnotation:annotation];
annotationView.delegate = self;
[annotationView setPinColor:MKPinAnnotationColorGreen];
}
else
{
annotationView = [[SolarAnnotationView alloc] initWithAnnotation:annotation];
annotationView.delegate = self;
}
}
return annotationView;
}
- (BOOL) CLLocationCoordinate2DEquals:(const CLLocationCoordinate2D)lhs withSecondCoordinate:(const CLLocationCoordinate2D) rhs{
const CLLocationDegrees DELTA = 0.001;
return fabs(lhs.latitude - rhs.latitude) <= DELTA && fabs(lhs.longitude - rhs.longitude) <= DELTA;
}
Montrez comment vous montrant l'emplacement actuel. Utilisez-vous la propriété showsUserLocation de map view pour obtenir le point bleu par défaut ou créer une pin personnalisée? Montrez comment vous ajoutez l'annotation et la méthode viewForAnnotation. – Anna