Расширенный mapView: viewForAnnotation Теперь нет Blue Dot
У меня появилась возможность 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;
}
Мой вопрос в том, что я должен сделать view = для того, чтобы сохранить iPhone, встроенный в синюю точку. Вы можете видеть, что я удаляю свой собственный образ, нарисованный для точки, но я не знаю, как заставить его показывать по умолчанию.
Ответы
Ответ 1
Не помещайте ничего в другое. Я делаю следующую проверку. Я думаю, что это происходит из примера кода 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.