8

Apple 在 iOS 9.3 中引入了 MKLocalSearchCompleter 和 MKLocalSearchCompletion。我正在尝试实施它。它变成了一个两步过程 1) 输入部分术语 -> 生成完整的搜索文本。2) 用户选择其中之一来搜索实际位置。

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

4

1 回答 1

11

一种方法是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"
    }
}
于 2016-05-24T03:54:11.823 回答