If you set up the annotations for your map view controller in viewDidLoad - as suggested in the README then you get a superfluous cluster annotation if presenting the map view controller in Landscape. Note the big "59" cluster on top of ÖSTERREICH.

If you move it to viewWillAppear or later, then this extra cluster does not appear:

I believe that the reason for the misbehavior comes from MKMapView having an incorrect position during viewDidLoad. I added logging for the visible map rect in the -init of CCHMapClusterOperation.
Portrait, viewDidLoad:
Visible map rect = {{141014758.6, 88274850.3}, {6111232.3, 10743653.0}}
Visible map rect = {{141014758.6, 88274850.3}, {6111232.3, 10743653.0}}
Portrait, viewWillAppear:
Visible map rect = {{141014758.6, 88274850.3}, {6111232.3, 10743653.0}}
Landscape, viewDidLoad:
Visible map rect = {{40502319.6, 79459175.3}, {127778493.3, 69020511.0}}
Visible map rect = {{141014758.7, 91996163.0}, {6111232.1, 3301027.8}}
Landscape, viewWillAppear:
Visible map rect = {{141014758.7, 91996163.0}, {6111232.1, 3301027.8}}
The second line in the Landscape-viewDidLoad log comes from this call stack:

As you can see there is a timer delay that fixes the visible map rect and calling the mapView:regionDidChange:animated: thus triggering a reclustering.
Putting the setup code into viewWillAppear resolves the issue, but the question for this bug report is, whether the initial clustering shouldn't be delayed until after the first setting of the visible region. The current recommendation and code leads to a superfluous clustering operation.
The second question is, why the second clustering operation does not correct the superfluous cluster annotations that the first one created.
This issue observed on an app with deployment target 8.1, running on 8.3, using a MKMapView from storyboard and size classes throughout.
If you set up the annotations for your map view controller in viewDidLoad - as suggested in the README then you get a superfluous cluster annotation if presenting the map view controller in Landscape. Note the big "59" cluster on top of ÖSTERREICH.
If you move it to
viewWillAppearor later, then this extra cluster does not appear:I believe that the reason for the misbehavior comes from
MKMapViewhaving an incorrect position during viewDidLoad. I added logging for the visible map rect in the -init ofCCHMapClusterOperation.Portrait, viewDidLoad:
Portrait, viewWillAppear:
Landscape, viewDidLoad:
Landscape, viewWillAppear:
The second line in the Landscape-viewDidLoad log comes from this call stack:
As you can see there is a timer delay that fixes the visible map rect and calling the
mapView:regionDidChange:animated:thus triggering a reclustering.Putting the setup code into viewWillAppear resolves the issue, but the question for this bug report is, whether the initial clustering shouldn't be delayed until after the first setting of the visible region. The current recommendation and code leads to a superfluous clustering operation.
The second question is, why the second clustering operation does not correct the superfluous cluster annotations that the first one created.
This issue observed on an app with deployment target 8.1, running on 8.3, using a MKMapView from storyboard and size classes throughout.