ios - MapKit LocalSearch 不工作

标签 ios swift swift3 mapkit

我做了一个简单的函数来执行本地搜索

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    var localSearchRequest:MKLocalSearchRequest!
    var localSearchResponse:MKLocalSearchResponse!
    localSearchRequest.naturalLanguageQuery = locationSearchBar.text
    let localSearch = MKLocalSearch(request: localSearchRequest)
    localSearch.start { (localSearchResponse, Error) in
        if localSearchResponse == nil{
            let alertController = UIAlertController(title: nil, message: "No Place Found", preferredStyle: UIAlertControllerStyle.alert)
            alertController.addAction(UIAlertAction(title: "확인", style: UIAlertActionStyle.default, handler: nil))
            self.present(alertController, animated: true, completion: nil)
            return
        }
            self.pointAnnotation = MKPointAnnotation()
            self.pointAnnotation.title = self.locationSearchBar.text
            self.pointAnnotation.coordinate = CLLocationCoordinate2D(latitude:localSearchResponse!.boundingRegion.center.latitude, longitude: localSearchResponse!.boundingRegion.center.longitude)


            self.pinAnnotationView = MKPinAnnotationView(annotation: self.pointAnnotation, reuseIdentifier: nil)
            self.mapView.centerCoordinate = self.pointAnnotation.coordinate
            self.mapView.addAnnotation(self.pinAnnotationView.annotation!)



    }
}

但是没有效果

它转到 localSearchRequest.naturalLanguageQuery = locationSearchBar.text 行上的“Thread 1 EXC_BAD_INSTRUCTION”,每次我搜索时它都说“No Place Found”

最佳答案

问题是您还没有初始化 localSearchResponse,您只是简单地声明了它。

更改行:

var localSearchResponse:MKLocalSearchResponse!

var localSearchResponse = MKLocalSearchResponse()

关于ios - MapKit LocalSearch 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43302117/

相关文章:

ios - 在沙盒模式下出现的非 "Cleared For Sale"的 App Purchase 产品

ios - 加载股票 tableView 时出现 fatal error (发现为零)

iOS - 无法访问 UITableViewCell 类中的 UITextView 委托(delegate)

ios - 将新的 APNS 证书上传到 GCM

ios - 在 iOS Swift 中下载 youtube 视频

swift - 如何在没有 Storyboard的情况下以编程方式实例化 View Controller

swift - 如何在委托(delegate)协议(protocol)模式中使用相同的实例?

ios - 如果一个隐藏在 swift 3 中,如何调整用其他 View /uitextfield 填充 uitextfield 的空间?

ios - Swift - tableview contentsize 不匹配内容?

ios - 从 2013 年 10 月起无法从 Graph API 获取 "access token"