如何在iOS9.3中从MKLocalSearchCompletion对象识别MKMapItem



苹果在iOS 9.3中推出了MKLocalSearchCompleter和MKLocalSearchCompletion。我正在努力实施它。它变成了一个两步走的过程1) 输入部分词条->生成完整的搜索文本。2) 用户选择其中一个来搜索实际位置。

问题是,如果我搜索200个townsend,它会给我一个位置列表,但直到应用程序将其视为建议。我们如何确定它是MKMampItem还是建议?

执行此操作的一种方法是用MKLocalSearchCompletion初始化MKLocalSearchRequest
let request = MKLocalSearchRequest(completion: completion)

然后可以使用MKLocalSearchRequest初始化MKLocalSearch

let search = MKLocalSearch(request: request)

然后,您可以启动search,它有一个带有MKLocalSearchResponse?NSError?的完成处理程序。MKLocalSearchResponse?将有一个MKMapItem的数组。

完整示例:

let request = MKLocalSearchRequest(completion: completion)
let search = MKLocalSearch(request: request)
search.startWithCompletionHandler { (response: MKLocalSearchResponse?, error: NSError?) in
    if let error = error {
        // do something with "error"
    }
    else if let mapItems = response?.mapItems {
        // do something with "mapItems"
    }
}

相关内容

  • 没有找到相关文章

最新更新