         guard let text = self.searchController.searchBar.text,
             !text.trimmingCharacters(in: CharacterSet.whitespaces).characters.isEmpty
             else { return }
+        // TODO: Debounce.
         self.searchMapItems(withQuery: text)
     }
 


            guard mapItems != self.resultsViewController.mapItems else { return }
            self.resultsViewController.mapItems = mapItems

            self.mapView.removeAnnotations(self.mapView.annotations)
            let placemarks = mapItems.map { $0.placemark }
            self.mapView.addAnnotations(placemarks)
        }
    }

    /**

    open func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        guard tableView === self.resultsViewController.tableView else { return }

        self.selectedMapItem = self.resultsViewController.mapItems[indexPath.row]
        let annotationToSelect = self.updateAnnotations()[indexPath.row]

        self.resultsViewController.dismiss(animated: true) {
            self.zoom(to: self.selectedMapItem!.placemark.location!, animated: false)
            self.mapView.selectAnnotation(annotationToSelect, animated: false)
        }
    }

}
