Mapkit Тип аннотации при увеличении и уменьшении? - PullRequest
1 голос
/ 28 февраля 2011

Я работаю с Mapkit и использую SDK 4.2, у меня здесь странная ошибка, на самом деле у меня есть 3 типа аннотаций: "blue.png", red.png, black.png.Я загружаю их потоком и в зависимости от типа его выберут эти типы аннотаций.Все отлично работает, когда карта загружена, у меня другой вид аннотации, но когда я двигаюсь, увеличиваю или уменьшаю масштаб, вид аннотации меняется, т.е. там, где он должен был быть blue.png, он становится black.png.

На самом деле я тестирую его на устройстве.

Большое спасибо :)

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Эй, проблема в том, что этот метод вызывается, если пользователь просматривает карту, чтобы посмотреть другое местоположение, а затем возвращается к месту, где наносятся аннотации.

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

Я видел много примеровкод для приложения карты, и это то, что большинство людей используют.

- (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id <MKAnnotation>)annotation
{
    if ([annotation isKindOfClass:[MKUserLocation class]])
        return nil;
    static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
    MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationIdentifier];
    if(annotationView)
        return annotationView;
    else
    {
        MKPinAnnotationView* pinView = [[[MKPinAnnotationView alloc]
                                         initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier] autorelease];
        pinView.animatesDrop=YES;
        pinView.canShowCallout=YES;
        pinView.draggable = YES;
        pinView.pinColor = MKPinAnnotationColorGreen;
        return pinView;
    }
    return nil;
}
0 голосов
/ 01 марта 2011

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

...