             return
         }
         performDefaultSearch(withRegion: region)
-    }
-    
-    func selectPlaceToSelectIfNecessary() {
-        guard let toSelect = placeToSelect else {
-            return
-        }
-        let annotations = mapView.annotations(in: mapView.visibleMapRect)
-        for annotation in annotations {
-            guard let place = annotation as? ArticlePlace, toSelect === place else {
-                continue
-            }
-            deselectAllAnnotations()
-            selectArticlePlace(place)
-            placeToSelect = nil
-            break
-        }
     }
     
     func performDefaultSearch(withRegion region: MKCoordinateRegion) {

            regroupArticlesIfNecessary(forVisibleRegion: region)
            showRedoSearchButtonIfNecessary(forVisibleRegion: region)

            
            UIView.animate(withDuration: 0.7, delay: 0, options: [.allowUserInteraction], animations: { 
                self.mapView.region = region
            }) { (didFinish) in
                self.selectPlaceToSelectIfNecessary()
            }
        }
        
        get {

            
            let checkAndSelect = { (place: ArticlePlace) in
                if let keyToSelect = self.articleKeyToSelect, place.articles.count == 1, place.articles.first?.key == keyToSelect {
                    // hacky workaround for now
                    self.deselectAllAnnotations()
                    self.placeToSelect = place
                    dispatchAfterDelayInSeconds(1.0, DispatchQueue.main, {
                        self.placeToSelect = nil
                        guard self.mapView.selectedAnnotations.count == 0 else {
                            return
                        }
                        self.selectArticlePlace(place)
                    })
                    self.articleKeyToSelect = nil
                }
            }
            
