     fileprivate func zoomOut(animated: Bool) {
         let annotations = mapView.annotations.filter(isNonSelectedPlacemark)
         mapView.showAnnotations(annotations, animated: true)
+    }
+
+    @objc fileprivate func zoomToUserLocation() {
+        zoomIn(to: mapView.userLocation.location!, animated: false)
     }
 
     // MARK: Hack: http://stackoverflow.com/a/38155566/65465

    open func mapView(_ mapView: MKMapView, didUpdate userLocation: MKUserLocation) {
        guard selectedMapItem == nil else { return }
        guard mapView.selectedAnnotations.isEmpty else { return }
        guard let location = userLocation.location else { return }

        zoomIn(to: location, animated: false)
    }

    open func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

    open var pinColor: UIColor?
    open var searchDebounceDuration: TimeInterval = 0.6
    open var selectedMapItem: MKMapItem?
    open var userLocationDebounceDuration: TimeInterval = 0.6
    open var zoomedInSpan: CLLocationDegrees = 0.01

    public var hasResults: Bool { return !resultsViewController.mapItems.isEmpty }
