Apple 在 iOS 9.3 中引入了 MKLocalSearchCompleter 和 MKLocalSearchCompletion。我正在尝试实施它。它变成了一个两步过程 1) 输入部分术语 -> 生成完整的搜索文本。2) 用户选择其中之一来搜索实际位置。
问题是,如果我搜索 200 个城镇,它会给我一个位置列表,但它直到被应用程序视为建议。我们如何确定它是 MKMampItem 还是建议?
Apple 在 iOS 9.3 中引入了 MKLocalSearchCompleter 和 MKLocalSearchCompletion。我正在尝试实施它。它变成了一个两步过程 1) 输入部分术语 -> 生成完整的搜索文本。2) 用户选择其中之一来搜索实际位置。
问题是,如果我搜索 200 个城镇,它会给我一个位置列表,但它直到被应用程序视为建议。我们如何确定它是 MKMampItem 还是建议?
一种方法是MKLocalSearchRequest
用 a 初始化 a MKLocalSearchCompletion
。
let request = MKLocalSearchRequest(completion: completion)
然后,您可以MKLocalSearch
使用 a 初始化 a MKLocalSearchRequest
。
let search = MKLocalSearch(request: request)
然后,您可以使用 a和启动search
具有完成处理程序的 which 。将有一个's数组。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"
}
}