Как идентифицировать MKMapItem из объекта MKLocalSearchCompletion в iOS9.3?
Apple представила MKLocalSearchCompleter и MKLocalSearchCompletion в iOS 9.3. Я пытаюсь это реализовать. Это становится двухэтапным процессом 1) введите неполный термин -> генерируется полный текст поиска. 2) Пользователь выбирает один из них для поиска фактического местоположения.
Вопрос в том, что если я найду 200 таунсендов, это даст мне список мест, но пока приложение не будет рассматриваться как предложение. Как мы можем определить, является ли это MKMampItem или предложением?
1 ответ
Одним из способов сделать это является инициализация MKLocalSearchRequest
с MKLocalSearchCompletion
,
let request = MKLocalSearchRequest(completion: completion)
Затем вы можете инициализировать MKLocalSearch
с MKLocalSearchRequest
,
let search = MKLocalSearch(request: request)
Затем вы можете начать search
который имеет обработчик завершения с MKLocalSearchResponse?
а также NSError?
, MKLocalSearchResponse?
будет иметь массив MKMapItem
"S.
Полный пример:
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"
}
}