     }
     
     func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
+        _mapRegion = mapView.region
         regroupArticlesIfNecessary(forVisibleRegion: mapView.region)
         showRedoSearchButtonIfNecessary(forVisibleRegion: mapView.region)
         localCompleter.region = mapView.region

        }
    }
    
    var mapRegion: MKCoordinateRegion? {
        didSet {
            guard let region = mapRegion else {
                return
            }
            
            let regionThatFits = mapView.regionThatFits(region)
            regroupArticlesIfNecessary(forVisibleRegion: regionThatFits)
            showRedoSearchButtonIfNecessary(forVisibleRegion: regionThatFits)
            localCompleter.region = regionThatFits
            
            UIView.animate(withDuration: animationDuration, animations: {
                self.mapView.region = regionThatFits
            }) { (finished) in
                
            }
        }
    }
    

        
        var searchTerm: String? = nil
        let sortStyle = search.sortStyle
        let region = search.region ?? mapRegion ?? mapView.region
        currentSearchRegion = region
        
        switch search.type {
