     func zoomAndPanMapView(toLocation location: CLLocation) {
         let region = MKCoordinateRegionMakeWithDistance(location.coordinate, 5000, 5000)
         mapRegion = region
-        performDefaultSearchIfNecessary(withRegion: region)
+        if let searchRegion = currentSearchRegion, isDistanceSignificant(betweenRegion: searchRegion, andRegion: region) {
+            performDefaultSearch(withRegion: mapRegion)
+        } else {
+            performDefaultSearchIfNecessary(withRegion: region)
+        }
     }
     
     var panMapToNextLocationUpdate = true

    
    @IBAction func closeSearch(_ sender: Any) {
        searchBar?.endEditing(true)
        if let currentSearch = self.currentSearch, !isDefaultSearch(currentSearch) {
            searchBar?.text = currentSearch.string ?? currentSearch.localizedDescription
        } else {
            searchBar?.text = nil
        }
        let searchText = searchBar?.text
        if searchText == nil || searchText?.trimmingCharacters(in: .whitespacesAndNewlines) == "" {
            performDefaultSearch(withRegion: nil)
        }
    }
    
    // MARK: - UISearchBarDelegate

            }
            
            updateSearchFilterTitle()
            updateSearchBarText(forSearch: search)

            performSearch(search)
            
            switch search.type {
