Как мы получаем предложения ниже при поиске MKMapView в Swift? - PullRequest
0 голосов
/ 27 апреля 2020

Я ищу место с помощью SearchBar, здесь при поиске места, как получить предложение в соответствии с текстом поиска в строке поиска для MKMapView.

для поиска места, я написал код, как показано ниже.

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
    dismiss(animated: true, completion: nil)
    //create the search request
    let searchReq = MKLocalSearch.Request()
    searchReq.naturalLanguageQuery = searchBar.text
    let activeSearch = MKLocalSearch(request: searchReq)
    activeSearch.start { (response, error) in
        UIApplication.shared.endIgnoringInteractionEvents()
        if response == nil{
            print("error")
        }
        else{
            //remove annotation
            let annotations = self.mapView.annotations
           // self.mapView.removeAnnotation(annotations as! MKAnnotation)
            //getting data
            let lat = response?.boundingRegion.center.latitude
            let long = response?.boundingRegion.center.longitude
            //create annotation
            let annotation = MKPointAnnotation()
            annotation.title = searchBar.text
            annotation.coordinate = CLLocationCoordinate2DMake(lat!, long!)
            self.mapView.addAnnotation(annotation)
            //zooming annotation
            let coordinate: CLLocationCoordinate2D = CLLocationCoordinate2DMake(lat!, long!)
            let span = MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1)
            let region = MKCoordinateRegion(center: coordinate, span: span)
            self.mapView.setRegion(region, animated: true)
        }
    }
}

Мне нужны предложения в соответствии с текстом панели поиска, как этого добиться, пожалуйста, помогите мне с кодом.

enter image description here

...