2010-06-19 8 views
8

Po 2 godzinach szukania w Google nie mogłem znaleźć odpowiedzi, więc jest to moje ostatnie zdjęcie.Aktualna lokalizacja z niestandardową adnotacją, wykrzyknikiem i niebieskim kołem dokładności

Chciałbym użyć adnotacji niestandardowej dla bieżącej lokalizacji użytkownika w mkmapview. Ale chcę też mieć wokół niego niebieskie koło dokładności.

Czy to można zrobić?

Jeśli nie, czy mogę dodać odwołanie do domyślnej niebieskiej kropki za pomocą kółka?

Powodem, dla którego tego potrzebuję, jest to, że w mojej aplikacji obecny punkt lokalizacji często znika pod innymi adnotacjami. Dlatego używam fioletowej szpilki z wezwaniem jako bieżącą lokalizacją.

Oto mój kod adnotacji:

if ([annotation isKindOfClass:MKUserLocation.class]) 
    { 
     MKPinAnnotationView *userAnnotationView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:@"UserLocation"]; 
     if (userAnnotationView == nil) { 
      userAnnotationView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"UserLocation"]autorelease]; 
     }    
     else 
      userAnnotationView.annotation = annotation; 

     userAnnotationView.enabled = YES; 
     userAnnotationView.animatesDrop = NO; 
     userAnnotationView.pinColor = MKPinAnnotationColorPurple; 
     userAnnotationView.canShowCallout = YES; 
     [self performSelector:@selector(openCallout:) withObject:annotation afterDelay:0.01]; 

     return userAnnotationView; 
    } 

Dzięki za wszelkie porady. Pozdrowienia, Christian

Odpowiedz

6

OK, więc skończyłem usuwanie niestandardowego powiadomienia, ale dodanie wywołania, które pojawia się automatycznie. Tak:

mapView.showsUserLocation=TRUE; 
mapView.userLocation.title = NSLocalizedString (@"Here am I",@"Here am I"); 
[self performSelector:@selector(openCallout:) withObject:mapView.userLocation afterDelay:3.0]; 

oraz:

- (void)openCallout:(id<MKAnnotation>)annotation { 
[mapView selectAnnotation:annotation animated:YES];} 

bez zwłoki call-out nie będzie widoczny.

+0

Szukano jak 4 godziny temu, ty! – SaifDeen