Я использую MKMapView со многими аннотациями. Все в порядке, пока я не увеличу и не уменьшу карту. Расположение некоторых аннотаций меняется друг с другом. Кто-нибудь знает почему?
Вот мой код, который я вызываю после viewDidLoad для импорта аннотаций из 3 массивов: долготы, широты и photoFileName.
photoFileName содержит имена файлов фотографий для всех аннотаций, долготы и широты содержат их координаты.
for (int i=0; i<[longitudes count]; i++)
CLLocation* location = [[CLLocation alloc] initWithLatitude:[latitudes objectAtIndex:i]
longitude:[longitudes objectAtIndex:i]];
CSMapAnnotation* annotation = [[CSMapAnnotation alloc] initWithCoordinate:[location coordinate]
annotationType:CSMapAnnotationTypeImage
title:@"";
subtitle:@"";
// Set data for the annotation. This data is used for displaying annotation
[annotation setUserData:[photoFilename objectAtIndex:i]];
[_mapView addAnnotation:annotation];
[annotation release];
[currentLocation release];
}
Все загружено нормально, прокрутка и масштабирование работали. Однако, когда я увеличиваю изображение карты (примерно в 5-10 раз больше), а после этого снова уменьшаю масштаб до первого размера, некоторые местоположения аннотаций изменяются (см. Нижнюю аннотацию).
Я не публикую здесь функцию viewForAnnotation, потому что она не вызывается, я просто увеличиваю / уменьшаю масштаб, и это происходит.
http://cC8.upanh.com/27.800.35078007.mF80/1.png http://cC9.upanh.com/27.800.35078008.AWG0/2.png