I had an identical problem, so my workaround might work for you. I also reported an Apple bug. For me, every time a map has been tinted by a user, annotations will be โunaffectedโ.
In my code, I set the rotation using CGAffineTransformMakeRotation, and I do not set it in viewForAnnotation, but whenever users location is updated. So this is a little different from you.
My workaround was to add an extra minor rotation to the bottom of my viewForAnnotation method.
if(is6orMore) { [annView setTransform:CGAffineTransformMakeRotation(.001)];
So, for you, I'm not sure if this works as you rotate differently and do it in viewForAnnotation. But try it.
I found me forever to find, and I just went through this fix.
source share