This delegate function fires whenever the map's content changes, regardless of whether it's changed in code or whether the user pans or zooms.
optional func mapViewDidChangeVisibleRegion(_ mapView: MKMapView)
Is it possible to detect when the user manually pans only?