Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы MapKit ссылка на протокол MKMapViewDelegate

Опции
Развертывание Target:

На этой странице
Язык:

MKMapViewDelegate

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import MapKit

Objective C

@import MapKit;

Доступность


Доступный в iOS 3.0 и позже.

MKMapViewDelegate протокол определяет ряд дополнительных методов, которые можно использовать для получения связанных с картой сообщений обновления. Поскольку много операций карты требуют MKMapView когда определенные операции завершаются, класс для загрузки данных асинхронно представление карты вызывает эти методы для уведомления приложения. Представление карты также использует эти методы, чтобы запросить аннотацию и представления наложения и управлять взаимодействиями с теми представлениями.

Прежде, чем выпустить MKMapView объект, к которому Вы установили делегата, не забывает устанавливать тот объект delegate свойство к nil.

  • Говорит делегату, что область, выведенная на экран представлением карты, собирается измениться.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, regionWillChangeAnimated animated: Bool)

    Objective C

    - (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated

    Параметры

    mapView

    Представление карты, видимая область которого собирается измениться.

    animated

    Если YEStrue, изменение в новой области будет анимировано. Если NOfalse, изменение будет сразу внесено.

    Обсуждение

    Этот метод вызывают каждый раз, когда изменяется в настоящее время выводимая на экран область карты. Во время прокрутки этот метод можно вызвать много раз для создания отчетов об обновлениях позиции карты. Поэтому Ваша реализация этого метода должна быть максимально легкой, чтобы избежать влиять на прокрутку производительности.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что область, выведенная на экран картой, просматривает просто измененный.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, regionDidChangeAnimated animated: Bool)

    Objective C

    - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

    Параметры

    mapView

    Представление карты, видимая область которого изменилась.

    animated

    Если YEStrue, изменение в новой области было анимировано.

    Обсуждение

    Этот метод вызывают каждый раз, когда изменяется в настоящее время выводимая на экран область карты. Во время прокрутки этот метод можно вызвать много раз для создания отчетов об обновлениях позиции карты. Поэтому Ваша реализация этого метода должна быть максимально легкой, чтобы избежать влиять на прокрутку производительности.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что указанное представление карты собирается получить некоторые данные карты.

    Объявление

    Swift

    optional func mapViewWillStartLoadingMap(_ mapView: MKMapView!)

    Objective C

    - (void)mapViewWillStartLoadingMap:(MKMapView *)mapView

    Параметры

    mapView

    Представление карты, начавшее загружать данные.

    Обсуждение

    Этот метод вызывают каждый раз, когда новая группа мозаик карты должна быть загружена с сервера. Это обычно происходит каждый раз, когда Вы представляете части карты путем панорамирования или изменения масштаба содержания. Можно использовать этот метод для маркировки времени, когда это берет для представления карты для загрузки данных.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что указанное представление карты успешно загрузило необходимые данные карты.

    Объявление

    Swift

    optional func mapViewDidFinishLoadingMap(_ mapView: MKMapView!)

    Objective C

    - (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView

    Параметры

    mapView

    Представление карты, запустившее работу загрузки.

    Обсуждение

    Когда мозаики карты, связанные с текущим запросом, были загружены, этот метод вызывают. Мозаики карты требуют, когда новая видимая область прокручивается в представление, и мозаики не уже доступны. Мозаики карты можно также требовать на части карты, которые не в настоящее время видимы. Например, представление карты может загрузить мозаики, сразу окружающие в настоящее время видимую область по мере необходимости для обработки маленьких панорамирований пользователем.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что указанное представление было неспособно загрузить данные карты.

    Объявление

    Swift

    optional func mapViewDidFailLoadingMap(_ mapView: MKMapView!, withError error: NSError!)

    Objective C

    - (void)mapViewDidFailLoadingMap:(MKMapView *)mapView withError:(NSError *)error

    Параметры

    mapView

    Представление карты, запустившее работу загрузки.

    error

    Причина, что не могли быть загружены данные карты.

    Обсуждение

    Этот метод можно было бы вызвать в ситуациях, где устройство не имеет доступа к сети или неспособно загрузить данные карты по некоторым причинам. Это можно также вызвать, если запрос на дополнительные мозаики карты входит, в то время как предыдущий запрос на мозаики все еще находится на рассмотрении. Можно использовать это сообщение, чтобы уведомить пользователя, что данные карты недоступны.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что представление карты собирается начать представлять некоторые его мозаики.

    Объявление

    Swift

    optional func mapViewWillStartRenderingMap(_ mapView: MKMapView!)

    Objective C

    - (void)mapViewWillStartRenderingMap:(MKMapView *)mapView

    Параметры

    mapView

    Представление карты, собирающееся начать представлять.

    Обсуждение

    Когда одна или более мозаик показаны и требуют рендеринга, представление карты вызывает этот метод.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что представление карты закончило представлять все видимые мозаики.

    Объявление

    Swift

    optional func mapViewDidFinishRenderingMap(_ mapView: MKMapView!, fullyRendered fullyRendered: Bool)

    Objective C

    - (void)mapViewDidFinishRenderingMap:(MKMapView *)mapView fullyRendered:(BOOL)fullyRendered

    Параметры

    mapView

    Представление карты, представлявшее его мозаики.

    fullyRendered

    Этот параметр устанавливается на YEStrue если представление карты смогло представить все мозаики полностью или NOfalse если ошибки препятствовали тому, чтобы были представлены все мозаики.

    Обсуждение

    Когда представление карты заканчивает представлять все в настоящее время видимые мозаики в меру его возможности, этот метод сообщает. Этот метод вызывают независимо от того, были ли все мозаики представлены успешно. Если были ошибки, загружающие одну или более мозаик, препятствовавших тому, чтобы представление карты представило их, fullyRendered параметр устанавливается на NOfalse.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что представление карты начнет отслеживать позицию пользователя.

    Объявление

    Swift

    optional func mapViewWillStartLocatingUser(_ mapView: MKMapView!)

    Objective C

    - (void)mapViewWillStartLocatingUser:(MKMapView *)mapView

    Параметры

    mapView

    Представление карты, отслеживающее расположение пользователя.

    Обсуждение

    Этот метод вызывают когда значение showsUserLocation свойство изменяется на YEStrue.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что представление карты прекратило отслеживать расположение пользователя.

    Объявление

    Swift

    optional func mapViewDidStopLocatingUser(_ mapView: MKMapView!)

    Objective C

    - (void)mapViewDidStopLocatingUser:(MKMapView *)mapView

    Параметры

    mapView

    Представление карты, прекратившее отслеживать расположение пользователя.

    Обсуждение

    Этот метод вызывают когда значение showsUserLocation свойство изменяется на NOfalse.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что было обновлено расположение пользователя.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!)

    Objective C

    - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation

    Параметры

    mapView

    Представление карты, отслеживающее расположение пользователя.

    userLocation

    Объект расположения представление последнего расположения пользователя. Это свойство может быть nil.

    Обсуждение

    В то время как showsUserLocation свойство установлено в YEStrue, этот метод вызывают каждый раз, когда новое обновление информации о местоположении получено представлением карты. Если пользовательский режим отслеживания представления карты установлен в, этот метод также вызывают MKUserTrackingModeFollowWithHeading и возглавляющие изменения.

    Если приложение в настоящее время работает в фоновом режиме, этот метод не вызывают. Если Вы хотите получить обновления информации о местоположении при выполнении в фоновом режиме, необходимо использовать Базовую платформу Расположения.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату что попытка определить местоположение отказавшей позиции пользователя.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didFailToLocateUserWithError error: NSError!)

    Objective C

    - (void)mapView:(MKMapView *)mapView didFailToLocateUserWithError:(NSError *)error

    Параметры

    mapView

    Представление карты, отслеживающее расположение пользователя.

    error

    Ошибочный объект, содержащий причину, почему отслеживание расположения перестало работать.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что изменился пользовательский режим отслеживания.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didChangeUserTrackingMode mode: MKUserTrackingMode, animated animated: Bool)

    Objective C

    - (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated

    Параметры

    mapView

    Представление карты, пользовательский режим отслеживания которого изменился.

    mode

    Режим раньше отслеживал расположение пользователя.

    animated

    Если YEStrue, изменение от текущего режима до нового режима анимировано; иначе, это не. Этот параметр влияет только на изменения режима отслеживания. Изменения в пользовательском расположении или заголовке всегда анимируются.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Возвращает представление, связанное с указанным объектом пометок.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView!

    Objective C

    - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation

    Параметры

    mapView

    Представление карты, запросившее представление аннотации.

    annotation

    Объект, представляющий аннотацию, собирающуюся быть выведенной на экран. В дополнение к Вашим пользовательским аннотациям этот объект мог быть MKUserLocation объект, представляющий текущее расположение пользователя.

    Возвращаемое значение

    Представление аннотации для отображения для указанной аннотации или nil если Вы хотите вывести на экран стандартное представление аннотации.

    Обсуждение

    Вместо того, чтобы создавать новое представление каждый раз, когда этот метод вызывают, необходимо использовать dequeueReusableAnnotationViewWithIdentifier: метод MKMapView класс, чтобы видеть, существует ли уже существующее представление аннотации желаемого типа. Если Вы действительно существуете, необходимо обновить представление, чтобы отразить атрибуты указанной аннотации и возвратить его. Если представление надлежащего типа не существует, необходимо создать один, сконфигурировать его с необходимыми данными аннотации и возвратить его.

    Если объект в annotation параметр является экземпляром MKUserLocation класс, можно обеспечить пользовательское представление для обозначения расположения пользователя. Для отображения расположения пользователя с помощью системного представления по умолчанию возвратиться nil.

    Если Вы возвращаетесь, если Вы не реализуете этот метод, или nil от Вашей реализации для аннотаций кроме пользовательской аннотации расположения представление карты использует стандартное представление аннотации контакта.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что одно или более представлений аннотации были добавлены к карте.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didAddAnnotationViews views: [AnyObject]!)

    Objective C

    - (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views

    Параметры

    mapView

    Представление карты, добавившее представления аннотации.

    views

    Массив MKAnnotationView объекты, представляющие добавленные представления.

    Обсуждение

    К тому времени, когда этот метод вызывают, указанные представления уже добавляются к карте.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что пользователь коснулся одного из представления аннотации, вспомогательного кнопки.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, annotationView view: MKAnnotationView!, calloutAccessoryControlTapped control: UIControl!)

    Objective C

    - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control

    Параметры

    mapView

    Представление карты, содержащее указанное представление аннотации.

    view

    Представление аннотации, кнопка которого коснулась.

    control

    Коснувшееся управление.

    Обсуждение

    Представления аксессуара содержат пользовательское содержание и расположены по обе стороны от текста заголовка аннотации. Если представление потомком, которое Вы указываете является UIControl класс, представление карты вызывает этот метод как удобство каждый раз, когда пользователь касается Вашего представления. Можно использовать этот метод, чтобы реагировать на касания и выполнить любые действия, связанные с тем управлением. Например, если бы Ваше управление вывело на экран дополнительную информацию об аннотации, то Вы могли бы использовать этот метод для подарить модальной панели ту информацию.

    Если Ваши пользовательские представления аксессуара не являются потомками UIControl класс, представление карты не вызывает этот метод.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату что состояние перетаскивания одного из его измененных представлений аннотации.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, annotationView annotationView: MKAnnotationView!, didChangeDragState newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState)

    Objective C

    - (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState

    Параметры

    mapView

    Представление карты, содержащее представление аннотации.

    annotationView

    Представление аннотации, чье перетаскивают измененное состояние.

    newState

    Новое состояние перетаскивания представления аннотации.

    oldState

    Предыдущее состояние перетаскивания представления аннотации.

    Обсуждение

    Состояние перетаскивания обычно изменяется в ответ на взаимодействие с пользователем с представлением аннотации. Однако само представление аннотации ответственно за изменение того состояния также.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что было выбрано одно из его представлений аннотации.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!)

    Objective C

    - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view

    Параметры

    mapView

    Представление карты, содержащее представление аннотации.

    view

    Выбранное представление аннотации.

    Обсуждение

    Можно использовать этот метод для отслеживания изменений в состоянии выбора представлений аннотации.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что было невыбранным одно из его представлений аннотации.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didDeselectAnnotationView view: MKAnnotationView!)

    Objective C

    - (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view

    Параметры

    mapView

    Представление карты, содержащее представление аннотации.

    view

    Представление аннотации, которое было невыбранным.

    Обсуждение

    Можно использовать этот метод для отслеживания изменений в состоянии выбора представлений аннотации.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Спрашивает делегат к объекту средства рендеринга использовать при рисовании указанного наложения.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!

    Objective C

    - (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay

    Параметры

    mapView

    Представление карты, запросившее объект средства рендеринга.

    overlay

    Объект наложения, собирающийся быть выведенным на экран.

    Возвращаемое значение

    Средство рендеринга для использования при представлении указанного наложения на карте. Если Вы возвращаетесь nil, никакое содержание не нарисовано для указанного объекта наложения.

    Обсуждение

    Необходимо реализовать этот метод и использовать его для обеспечения надлежащего объекта средства рендеринга для оверлейных программ. Объект средства рендеринга ответственен за рисование содержания Вашего наложения, когда спросили сделать так представлением карты. Набор карты поддерживает много различных типов стандартных объектов средства рендеринга, и можно также определить собственные средства рендеринга.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что один или несколько объектов средства рендеринга были добавлены к карте.

    Объявление

    Swift

    optional func mapView(_ mapView: MKMapView!, didAddOverlayRenderers renderers: [AnyObject]!)

    Objective C

    - (void)mapView:(MKMapView *)mapView didAddOverlayRenderers:(NSArray *)renderers

    Параметры

    mapView

    Представление карты, добавившее объекты средства рендеринга.

    renderers

    Добавленные объекты средства рендеринга.

    Обсуждение

    Представление карты добавляет объекты средства рендеринга, когда ему нужны они для рисования их содержания, которое могло бы быть до того появляющегося на экране содержания. Это вызывает этот метод, чтобы сообщить, что средство рендеринга активно и в использовании. К тому времени, когда этот метод вызывают, указанные средства рендеринга были уже добавлены к карте.

    Оператор импорта

    Objective C

    @import MapKit;

    Swift

    import MapKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Просит делегат к представлению наложения использовать при отображении указанного объекта наложения.

    Оператор осуждения

    Реализуйте mapView:rendererForOverlay: метод вместо этого.

    Объявление

    Objective C

    - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay

    Параметры

    mapView

    Представление карты, запросившее представление наложения.

    overlay

    Объект, представляющий наложение, собирающееся быть выведенным на экран.

    Возвращаемое значение

    Представление для использования при представлении указанного наложения на карте. Если Вы возвращаетесь nil, никакое представление не выведено на экран для указанного объекта наложения.

    Обсуждение

    До iOS 7 Вы реализовали бы этот метод для обеспечения представлений для объектов наложения.

    Оператор импорта

    Objective C

    @import MapKit;

    Доступность

    Доступный в iOS 4.0 и позже.

    Осуждаемый в iOS 7.0.

  • Говорит делегату, что одно или более представлений наложения были добавлены к карте.

    Оператор осуждения

    Реализуйте mapView:didAddOverlayRenderers: метод вместо этого.

    Объявление

    Objective C

    - (void)mapView:(MKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews

    Параметры

    mapView

    Представление карты, добавившее представления наложения.

    overlayViews

    Массив MKOverlayView объекты, представляющие добавленные представления.

    Обсуждение

    К тому времени, когда этот метод вызывают, указанные представления уже добавляются к карте.

    Оператор импорта

    Objective C

    @import MapKit;

    Доступность

    Доступный в iOS 4.0 и позже.

    Осуждаемый в iOS 7.0.