2011-01-15 2 views
0

Ich versuche, den pulsierenden blauen Punkt und den Kreis zu erhalten, wenn Benutzer auf ihre aktuelle Position zoomen. Aber es sieht nicht ganz gut aus. Ich verstehe, dass die Codes Orte in der ViewForAnnotation sein müssen. Hier sind die relevanten Codes. Sag mir, wenn du mehr brauchst! Dank alootMapkit: Pulsierender blauer Punkt und Kreis

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ 

if ([annotation isKindOfClass:[MKUserLocation class]]) 
    return nil; //return nil to use default blue dot view 

//NSLog(@"View for Annotation is called"); 
MKPinAnnotationView *pin=[[MKPinAnnotationView alloc] 
          initWithAnnotation:annotation reuseIdentifier:nil]; 
pin.userInteractionEnabled=TRUE; 

[pin setPinColor:MKPinAnnotationColorGreen]; 
pin.canShowCallout = YES; 
pin.animatesDrop = YES; 

MapEvent* event = (MapEvent*)annotation; 
NSLog(@"%@",event.uniqueID); 

UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
[rightButton addTarget:self action:@selector(clickAnnotation:) forControlEvents:UIControlEventTouchUpInside]; 
[rightButton setTitle:event.uniqueID forState:UIControlStateNormal]; 

pin.rightCalloutAccessoryView = rightButton; 

return pin; 

}

+0

Was bedeutet "nicht ganz gut"? – donkim

Antwort

4

Um den blauen Punkt mit dem Kreis zu zeigen, stellen Sie die showsUserLocation Eigenschaft des MKMapView auf YES.

+0

Ben ist richtig. Beachten Sie auch, dass Sie den blauen Punkt im Simulator wahrscheinlich nicht sehen, wenn Sie die Mitte der Karte basierend auf Informationen aus dem Kernort anzeigen und "showsUserLocation" in Ihrer MKMapView aktiviert haben. Der Simulator sagt MapKit immer, dass Ihr derzeitiger Standort ist Cupertino, CA, USA (Apples Hauptquartier). Es wird jedoch auf dem Gerät gut funktionieren. –

+0

Ohhh! Ich verstehe es. Danke Jungs für all Ihre Hilfe! : D – funatsg