MKDirections
MKDirections
объект предоставляет Вам основанные на маршруте данные направлений от серверов Apple. Можно использовать экземпляры этого класса для получения информации времени перемещения или ведущих или идущих направлений на основе данных в MKDirectionsRequest
возразите, что Вы обеспечиваете. Объект направлений передает Ваш запрос серверам Apple и возвращает запрошенную информацию блоку, который Вы обеспечиваете.
Каждый объект направлений обрабатывает единственный запрос для направлений, несмотря на то, что можно отменить и перезапустить тот запрос по мере необходимости. Можно создать многократные экземпляры этого класса и обработать различные запросы маршрута одновременно, но необходимо выполнить запросы только, когда Вы планируете представить соответствующую маршрутную информацию пользователю. Приложения могут получить a MKErrorLoadingThrottled
ошибка, если слишком много запросов были выполнены от текущего устройства в слишком коротком периоде времени.
Оператор импорта
Swift
import MapKit
Objective C
@import MapKit;
Доступность
Доступный в OS X v10.9 и позже.
-
init (запрос:) - initWithRequest:
Определяемый инициализаторИнициализирует и возвращает объект направлений использование указанного запроса.
Объявление
Swift
init!(request
request
: 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!) -> Void
Objective 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!) -> Void
Objective 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 и позже.