I am making an MKMapView that shows the user's current location. I want to rotate the map like the Google Maps App without rotating the annotations. Im using the following code
-(void) locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading{
mapView.transform=CGAffineTransformMakeRotation(-1*newHeading.magneticHeading*3.14159/180)};
but the whole view is rotated like this image. The image of the problem in my app
You basically need to apply a the same transform to all annotation views but with negative angle, i.e.
If you're planning to add more annotations you should place the same code in
mapView:didAddAnnotationViews:
too:All the annotations and callouts that are shown on an MKMapView are subviews of MKMapView so if you rotate the container view all of its subviews are also going to be rotated.