Я разрабатываю приложение, которое использует MKOverlayPathView для выделения определенных позиций в MKMapView.По сути, идея состоит в том, что представление наложения пути получает список структур CLLocationCoordinate2D, а затем соединяет их линейно, используя CGPathAddLineToPoint()
в своей пользовательской реализации drawRect:
.
Однако как в имитаторе, так и на устройстве (iPhone 3GS под управлением 4.2.1), я замечаю странное поведение: путь ведет себя отлично, вплоть до определенного уровня масштабирования, затем начнет «пушить» (из-за отсутствия лучшего термина) в определенных сегментах.Эти проблемные области всегда четко очерчены, и остальная часть пути будет просто отлично:
Я пытался вызвать setNeedsLayout
и invalidatePath
в представлении пути(из regionDidChangeAnimated
метода уведомления MKMapView), но оба из них просто заставят размытую область исчезнуть, а не будут перерисованы должным образом.Есть ли исправление для этого?