MKDirections
MKDirections объект предоставляет Вам основанные на маршруте данные направлений от серверов Apple. Можно использовать экземпляры этого класса для получения информации времени перемещения или ведущих или идущих направлений на основе данных в MKDirectionsRequest возразите, что Вы обеспечиваете. Объект направлений передает Ваш запрос серверам Apple и возвращает запрошенную информацию блоку, который Вы обеспечиваете.
Каждый объект направлений обрабатывает единственный запрос для направлений, несмотря на то, что можно отменить и перезапустить тот запрос по мере необходимости. Можно создать многократные экземпляры этого класса и обработать различные запросы маршрута одновременно, но необходимо выполнить запросы только, когда Вы планируете представить соответствующую маршрутную информацию пользователю. Приложения могут получить a MKErrorLoadingThrottled ошибка, если слишком много запросов были выполнены от текущего устройства в слишком коротком периоде времени.
Оператор импорта
Swift
import MapKit
Objective C
@import MapKit;
Доступность
Доступный в OS X v10.9 и позже.
-
init (запрос:) - initWithRequest:Определяемый инициализаторИнициализирует и возвращает объект направлений использование указанного запроса.
Объявление
Swift
init!(requestrequest: MKDirectionsRequest!)Objective C
- (instancetype)initWithRequest:(MKDirectionsRequest *)requestПараметры
requestОбъект запроса, содержащий запуск и конечные точки маршрута. Этот параметр не должен быть
nil.Возвращаемое значение
Инициализированный объект направлений.
Обсуждение
После инициализации Вашего объекта направлений необходимо вызвать
calculateDirectionsWithCompletionHandler:илиcalculateETAWithCompletionHandler:метод для выполнения запроса.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
-
Начинает вычислять требуемую маршрутную информацию асинхронно.
Объявление
Swift
func calculateDirectionsWithCompletionHandler(_completionHandler: MKDirectionsHandler!)Objective C
- (void)calculateDirectionsWithCompletionHandler:(MKDirectionsHandler)completionHandlerПараметры
completionHandlerБлок для выполнения, когда направления готовы или когда происходит ошибка. Этот параметр не должен быть
nil.Обсуждение
Этот метод подает заявку для направлений и вызывает Ваш блок обработчика завершения с результатами. Ваш обработчик завершения выполняется на основном потоке Вашего приложения. Реализация Вашего обработчика должна проверить на ошибки и затем включить данные ответа как надлежащие.
При вызове этого метода, в то время как предыдущий запрос в процессе, это вызовы метода обработчик завершения с ошибкой. Можно определить, в процессе ли запрос путем проверки значения
calculatingсвойство. Можно также отменить запрос по мере необходимости.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
См. также
-
Начинает вычислять запрошенную информацию времени перемещения асинхронно.
Объявление
Swift
func calculateETAWithCompletionHandler(_completionHandler: MKETAHandler!)Objective C
- (void)calculateETAWithCompletionHandler:(MKETAHandler)completionHandlerПараметры
completionHandlerБлок для выполнения, когда оценка времени перемещения готова или когда происходит ошибка. Этот параметр не должен быть
nil.Обсуждение
Этот метод подает заявку для оценки времени перемещения и вызывает Ваш блок обработчика завершения с результатами. Оценки времени перемещения занимают намного меньше времени для генерации, чем направления, так используйте этот метод в ситуациях, где Вы хотите оценку времени только. Ваш обработчик завершения выполняется на основном потоке Вашего приложения. Реализация Вашего обработчика должна проверить на ошибки и затем включить данные ответа как надлежащие.
При вызове этого метода, в то время как предыдущий запрос в процессе, это вызовы метода обработчик завершения с ошибкой. Можно определить, в процессе ли запрос путем проверки значения
calculatingсвойство. Можно также отменить запрос по мере необходимости.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
-
Отменяет незаконченный запрос.
Объявление
Swift
func cancel()Objective C
- (void)cancelОбсуждение
После отмены запроса можно вызвать
calculateDirectionsWithCompletionHandler:метод снова (если Вы хотите) перезапускать процесс запроса.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
-
вычисление вычислениеСвойствоБулево значение, указывающее, является ли запрос в настоящее время в процессе. (только для чтения)
Объявление
Swift
var calculating: Bool { get }Objective C
@property(nonatomic, readonly, getter=isCalculating) BOOL calculatingОператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
Типы данных
-
Блок для использования для обработки требуемой маршрутной информации.
Объявление
Swift
typealias MKDirectionsHandler = (MKDirectionsResponse!, NSError!) -> VoidObjective C
typedef void (^MKDirectionsHandler)(MKDirectionsResponse *response, NSError *error);Обсуждение
Этот блок берет два параметра:
responseпараметр содержит маршрутную информацию для запроса. Если ошибка произошла, или никакой маршрут не мог бы быть определен, этот параметрnil.errorпараметр содержит информацию о любых произошедших ошибках. Если никакие ошибки не произошли, этот параметрnil.
Реализация Вашего блока должна проверить на значение в
errorпараметр и, если тот параметрnil, включите маршрутную информацию, предоставленную вresponseпараметр.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
-
Блок для использования для обработки информации о времени перемещения.
Объявление
Swift
typealias MKETAHandler = (MKETAResponse!, NSError!) -> VoidObjective C
typedef void (^MKETAHandler)(MKETAResponse *response, NSError *error);Обсуждение
Этот блок берет два параметра:
responseпараметр содержит ответ времени передвижения. Если ошибка произошла, или никакое время передвижения не могло бы быть определено, этот параметрnil.errorпараметр содержит информацию о любых произошедших ошибках. Если никакие ошибки не произошли, этот параметрnil.
Реализация Вашего блока должна проверить на значение в
errorпараметр и, если тот параметрnil, включите информацию времени перемещения, предоставленную вresponseпараметр.Оператор импорта
Objective C
@import MapKit;Swift
import MapKitДоступность
Доступный в OS X v10.9 и позже.
