         }
         listView.reloadData()
         currentGroupingPrecision = 0
-        regroupArticlesIfNecessary(forVisibleRegion: mapView.region)
+        regroupArticlesIfNecessary(forVisibleRegion: mapRegion ?? mapView.region)
     }
     
     

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

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