苹果在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"
}
}