/ / ios 6 Rotación de anotaciones de MapKit - ios6, ios6-maps

Rotación de anotación de ios 6 MapKit - ios6, ios6-maps

Nuestra aplicación tiene una vista de mapa giratoria que se alinea conel rumbo de la brújula. Hacemos un giro contrario a las anotaciones para que sus rótulos permanezcan horizontales para la lectura. Esto funciona bien en dispositivos iOS5, pero está roto en iOS6 (problema visto con el mismo binario que se usa en el dispositivo iOS5 y con el binario creado con iOS6 SDK). Las anotaciones inicialmente giran a la posición horizontal correcta y luego, poco tiempo después, vuelven a la rotación no corregida. No podemos ver ningún evento que esté causando esto. Este es el fragmento de código que estamos usando en - (MKAnnotationView *) mapView: (MKMapView *) theMapView viewForAnnotation: (id) anotación

CATransform3D transformZ = CATransform3DIdentity;
transformZ = CATransform3DRotate(transformZ, _rotationZ, 0, 0, 1);
annotation.myView.layer.transform = transformZ;

¿Alguien más ha visto esto y alguien ha recibido sugerencias sobre cómo solucionarlo en iOS6?

Respuestas

3 para la respuesta № 1

Tuve un problema idéntico por lo que mi solución puede funcionar para usted. También he enviado un error a Apple en él. Para mí, cada vez que el usuario toma un mapa del mapa, las anotaciones se vuelven "no rotadas".

En mi código, establezco las rotaciones con CGAffineTransformMakeRotation y no las configuro en viewForAnnotation, pero cada vez que se actualiza la ubicación de los usuarios. Así que eso es un poco diferente a ti.

Mi solución fue agregar una rotación menor adicional en la parte inferior de mi método viewForAnnotation.

if(is6orMore) {
[annView setTransform:CGAffineTransformMakeRotation(.001)]; //iOS6 BUG WORKAROUND !!!!!!!
}

Entonces, para usted, no estoy seguro de si eso funciona, ya que está girando de manera diferente y lo está haciendo en viewForAnnotation. Pero inténtelo.

Tardé una eternidad en encontrarlo y acabo de pasar por esta solución.