Расширенная карта ViewView: viewForAnnotation Теперь нет синей точки - PullRequest
13 голосов
/ 10 сентября 2010

Я расширил способность MapKit рисовать собственные изображения аннотаций с помощью следующего кода:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
    NSLog(@"Drawing a cloud on the map");
    MKAnnotationView *view;
    if(annotation != mapView.userLocation){
        view=[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"parkingloc"];
        view.image=[UIImage imageNamed:@"placemarkCloud.png"];
        [view setCanShowCallout:YES];
        [view setRightCalloutAccessoryView:[UIButton buttonWithType:UIButtonTypeDetailDisclosure]];
    }
    else{
        view=
    }
    return view;
}

Мой вопрос заключается в том, что я должен сделать, чтобы сохранить встроенную синюю точку iPhone. Вы можете видеть, что я исключаю свое собственное изображение, нарисованное для точки, но я не знаю, как сделать так, чтобы оно отображалось по умолчанию.

1 Ответ

47 голосов
/ 11 сентября 2010

Не кладите ничего в остальное.Я делаю следующую проверку.Я думаю, что это происходит из примера кода Apple.

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

if ([annotation isKindOfClass:[MKUserLocation class]]) {
  //Don't trample the user location annotation (pulsing blue dot).
  return nil;
}

//Continue on to your regular code here.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...