NMFOverlay


@interface NMFOverlay : NSObject <NMFPickable>

지도에 오버레이되는 요소를 나타내는 최상위 클래스. 대부분의 오버레이는 mapView를 사용해 동적으로 지도에 추가하거나 지도로부터 제거할 수 있습니다.

  • 오버레이의 고유 ID.

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NSString *_Nonnull overlayID;

    Swift

    var overlayID: String { get }
  • 사용자 임의 속성. 필요에 따라서 부가적인 정보를 저장할 수 있습니다.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSDictionary *_Nonnull userInfo;

    Swift

    var userInfo: [AnyHashable : Any] { get set }
  • 오버레이를 추가할 지도 객체. nil을 지정하면 지도에서 제거됩니다.

    Declaration

    Objective-C

    @property (nonatomic, weak, nullable) NMFMapView *mapView;

    Swift

    weak var mapView: NMFMapView? { get set }
  • 숨김 속성. YES일 경우 오버레이는 화면에 나타나지 않으며 이벤트도 받지 못합니다. 숨김 속성은 명시적으로 지정하지 않는 한 변하지 않습니다. 즉, 오버레이가 현재 보이는 지도 영역의 바깥쪽으로 나가더라도 숨김 속성이 YES로 변하지는 않습니다.

    기본값은 NO입니다.

    Declaration

    Objective-C

    @property (nonatomic) BOOL hidden;

    Swift

    var hidden: Bool { get set }
  • 보조 Z 인덱스. 전역 Z 인덱스가 동일한 여러 오버레이가 화면에서 겹쳐지면 보조 Z 인덱스가 큰 오버레이가 작은 오버레이를 덮습니다.

    기본값은 0입니다.

    Declaration

    Objective-C

    @property (nonatomic) NSInteger zIndex;

    Swift

    var zIndex: Int { get set }
  • 전역 Z 인덱스. 여러 오버레이가 화면에서 겹쳐지면 전역 Z 인덱스가 큰 오버레이가 작은 오버레이를 덮습니다. 또한 값이 0 이상이면 오버레이가 심벌 위에, 0 미만이면 심벌 아래에 그려집니다.

    Declaration

    Objective-C

    @property (nonatomic) NSInteger globalZIndex;

    Swift

    var globalZIndex: Int { get set }
  • 오버레이가 보이는 최소 줌 레벨.

    기본값은 NMF_MIN_ZOOM입니다.

    Declaration

    Objective-C

    @property (nonatomic) double minZoom;

    Swift

    var minZoom: Double { get set }
  • 오버레이가 보이는 최대 줌 레벨.

    기본값은 NMF_MAX_ZOOM입니다.

    Declaration

    Objective-C

    @property (nonatomic) double maxZoom;

    Swift

    var maxZoom: Double { get set }
  • 지도의 줌 레벨과 오버레이의 최소 줌 레벨이 동일할 때 오버레이를 보일지 여부를 반환합니다. 만약 YES이면 오버레이가 나타나고 NO이면 나타나지 않습니다.

    기본값은 YES입니다.

    Declaration

    Objective-C

    @property (nonatomic, assign, unsafe_unretained, readwrite,
              setter=setMinZoomInclusive:) BOOL isMinZoomInclusive;

    Swift

    var isMinZoomInclusive: Bool { get set }
  • 지도의 줌 레벨과 오버레이의 최대 줌 레벨이 동일할 때 오버레이를 보일지 여부를 반환합니다. 만약 YES이면 오버레이가 나타나고 NO이면 나타나지 않습니다.

    기본값은 YES입니다.

    Declaration

    Objective-C

    @property (nonatomic, assign, unsafe_unretained, readwrite,
              setter=setMaxZoomInclusive:) BOOL isMaxZoomInclusive;

    Swift

    var isMaxZoomInclusive: Bool { get set }
  • 오버레이가 터치될 경우 호출되는 콜백 블록.

    Declaration

    Objective-C

    @property (nonatomic, nullable) NMFOverlayTouchHandler touchHandler;

    Swift

    var touchHandler: NMFOverlayTouchHandler? { get set }
  • 오버레이가 유효하여 지도에 추가될 수 있는지 여부를 반환합니다. NMFOverlay를 상속받는 오버레이들은 이 메서드를 재정의할 수 있습니다.

    기본값은 NO입니다.

    Declaration

    Objective-C

    - (BOOL)shouldAddOverlayToMap;

    Swift

    func shouldAddToMap() -> Bool

    Return Value

    지도에 추가될 수 있다면 YES, 아니면 NO.