Skip to content

Изменения в версии Yandex Map Kit для iOS 1.0.4

DanSkeel edited this page Oct 8, 2013 · 2 revisions

О Yandex Map Kit для iOS версии 1.0.4

Поддерживаемые конфигурации

  • Yandex Map Kit 1.0.4 добавляет поддержку архитектуры ARMv7s (iPhone 5, iPad 4). Одновременно с этим из бинарника удалена архитектура ARMv6.
  • Минимальная поддерживаемая версия iOS 5.0

Новое в Yandex Map Kit для iOS версии 1.0.4

  • Исправлена проблема: при выключении пробок и изменении масштаба на карте отображаются закешированные пробки (2681)
  • Обновлен дизайн балунов (2552, 2533, 2725, 2732, 2762, 2763, 2764, 2766, 2767, 2777, 2785, 2836, 2878, 2889)
  • Ускорен рендеринг тайлов на многоядерных устройствах (iPad, новые iPhone) (2696)
  • Устранен прямой вывод debug-сообщений в консоль Xcode (2415)
  • Добавлена возможность выставления картинки для выбранного состояния у объектов YMKAnnotationView (2500, 2792)
  • Добавлена архитектура armv7s (2923, 2924)
  • Приватизирован класс YMKHostsConfiguration (2760)
  • Исправлена ошибка, не позволяющая двигать карту после перемещения перемещаемой аннотации (2929)
  • Добавлена возможность следить за местоположением пользователя через делегат-метод (2553)
  • Исправлена проблема, не позволяющая удалять некоторые аннотации с карты (2738)

Важные изменения:

  • Начиная с версии 1.0.4, удалены API, позволяющие конфигурировать балун путем присвоения свойств rightCalloutAccessoryView, leftCalloutAccessoryView и calloutContentView объекту YMKAnnotationView. Теперь эти view необходимо присваивать в объект YMKCalloutView, используя соответствующие свойства leftView, rightView.
  • Для конфигурирования балуна необходимо реализовать делегат-метод - (YMKCalloutView *)mapView:(YMKMapView *)mapView calloutViewForAnnotation:(id<YMKAnnotation>)annotation. Если он не реализован, то будет создан стандартный балун с заголовком и поздаголовком из аннотации. Если он реализован, то в нем необходимо попробовать запросить переиспользуемый объект, воспользовавшись методом -[YMKMapView dequeueReusableCalloutViewWithIdentifier:]. Если в результате вызова этого метода был возвращен nil, необходимо создать балун через -[YMKCalloutView initWithReuseIdentifier:] и назначить ему свойства contentView, leftView, rightView по вкусу.

Изменения в API:

Класс YMKAnnotationImage

Добавлено:

+ (instancetype)annotationImageWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage centerOffset:(CGPoint)centerOffset;
- (instancetype)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage centerOffset:(CGPoint)centerOffset;
@property (nonatomic, retain) UIImage *highlightedImage;

Класс YMKAnnotationView

Добавлено:

@property (nonatomic, strong) UIImage *selectedImage;
@property (nonatomic, readonly) YMKCalloutView *visibleCalloutView;

Удалено:

@property (nonatomic, retain) UIView * rightCalloutAccessoryView;
@property (nonatomic, retain) UIView * leftCalloutAccessoryView;
@property (nonatomic, retain) UIView<YMKCalloutContentView> * calloutContentView;
- (void)setLeftCalloutAccessoryView:(UIView *)view animated:(BOOL)animated;
- (void)setRightCalloutAccessoryView:(UIView *)view animated:(BOOL)animated;

Класс YMKCalloutView

Добавлено:

@property (nonatomic, assign, readonly, getter=isHidden) BOOL hidden;
+ (UIView *)defaultDisclosureIndicatorView;
- (void)showAtAnnotationView:(YMKAnnotationView *)annotationView;
- (void)showAtAnnotationView:(YMKAnnotationView *)annotationView animated:(BOOL)animated;

Удалено:

@property (nonatomic, readonly) CGRect nonTransformedFrame;
- (void)showInView:(UIView*)view;
- (void)animateAppearance;
+ (CGFloat)minimumSidePadding;
- (CGSize)sizeWithContentView:(UIView *)contentView 
					 leftView:(UIView *)leftView 
					rightView:(UIView *)rightView
				 boundaryRect:(CGRect)rect;

Изменено:

С: @property (nonatomic, assign) id delegate;

На: @property (nonatomic, assign) id<YMKCalloutViewDelegate> delegate;


Протокол YMKDraggableAnnotation

Добавлено:

-(void)setCoordinate:(YMKMapCoordinate)coordinate;

Удалено:

@property (nonatomic, assign) YMKMapCoordinate coordinate;


Протокол YMKGeoObject

Добавлено:

- (YMKMapCoordinate)coordinate;

Удалено:

@property (nonatomic, readonly) YMKMapCoordinate coordinate;


Удален YMKHostsConfiguration.h


Класс YMKMapView

Изменено:

С - (id)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;

На - (YMKAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;

С - (id)dequeueReusableCalloutViewWithIdentifier:(NSString *)identifier;

На - (YMKCalloutView *)dequeueReusableCalloutViewWithIdentifier:(NSString *)identifier;


Протокол YMKMapViewDelegate

Добавлено:

- (void)mapView:(YMKMapView *)mapView didUpdateUserLocation:(YMKUserLocation *)userLocation;


Класс YMKUserLocation

Удалено:

extern NSString * const YMKUserLocationNeedsSubtitleNotification;