Roadview

open class Roadview : ViewBase, OnViewResized

로드뷰를 그리기 위한 클래스.

로드뷰는 바로 그려지지 않고, 로드뷰지점 데이터를 요청하여 데이터가 수신되면 그려진다.

Roadview Controls

  • 로드뷰를 요청한다.

    요청 결과에 따라 이벤트가 발생된다.

    Declaration

    Swift

    open func requestRoadview(position: MapPoint, markers: [PanoramaMarker]? = nil, lookAt: RoadviewLookAt? = nil)

    Parameters

    position

    로드뷰를 요청할 지점 위치

    markers

    로드뷰에 표시할 마커들. 없을 경우 nil.

    lookAt

    초기 로드뷰 진입시 바라볼 방향. 지정하지 않을 경우 nil. 지정하지 않을 경우 정북 수평방향을 바라본다.

  • 로드뷰를 요청한다.

    요청 결과에 따라 이벤트가 발생된다.

    Declaration

    Swift

    @objc
    open func requestRoadview(position: MapPoint, panoID: String?, markers: [PanoramaMarker]? = nil, lookAt: RoadviewLookAt? = nil)

    Parameters

    position

    로드뷰를 요청할 지점 위치.

    panoID

    파노라마 ID.

    markers

    로드뷰에 표시할 마커들. 없을 경우 nil.

    lookAt

    초기 로드뷰 진입시 바라볼 방향. 지정하지 않을 경우 nil. 지정하지 않을 경우 정북 수평방향을 바라본다.

Linking with MapView

  • 로드뷰 뷰와 연결된 지도 뷰를 지정한다.

    지도 뷰와 연결하면 지도 뷰가 회전하면 로드뷰 뷰도 회전하고, 로드뷰 지점 이동에 따라 지도 뷰도 이동한다.

    Declaration

    Swift

    @objc
    open func linkMapView(_ viewName: String)

    Parameters

    viewName

    연결할 지도 뷰의 이름. 해당 이름의 지도뷰가 없을 경우 아무 동작 없음.

  • 로드뷰 뷰와 연결된 지도 뷰를 해제한다.

    Declaration

    Swift

    @objc
    open func unlinkMapView()
  • 뷰를 다시 그린다.

    Declaration

    Swift

    @objc
    open func refresh()
  • 로고의 위치를 지정한다. 로고는 SpriteGUI 와 같은 방식으로 화면상의 특정위치에 고정적으로 표시되므로, 다른 GUI 와 겹치는 현상을 피하기 위해 로고의 위치를 이동시키는 데 사용한다. 위치 지정방식은 SpriteGUI와 동일하다.

    Declaration

    Swift

    @objc
    public func setLogoPosition(origin: GuiAlignment, position: CGPoint)

    Parameters

    origin

    로고의 alignment

    position

    alignment 기준점으로부터의 offset

Properties

  • pan

    로드뷰 카메라의 pan값

    Declaration

    Swift

    @objc
    open var pan: Double { get }
  • 로드뷰 카메라의 tilt값

    Declaration

    Swift

    @objc
    open var tilt: Double { get }
  • 뷰의 활성화 상태

    true인 경우 렌더링이 실행되며,false인 경우 렌더링을 하지 않는다.

    Declaration

    Swift

    @objc
    open var isEnabled: Bool { get set }

Event

  • 로드뷰 이벤트 delegate를 지정한다.

    Declaration

    Swift

    @objc
    open var eventDelegate: RoadviewEventDelegate? { get set }
  • 포커스 변경 이벤트 핸들러를 추가한다.

    Declaration

    Swift

    open func addFocusChangedEventHandler<U>(target: U, handler: @escaping (U) -> (Bool) -> Void) -> DisposableEventHandler where U : AnyObject

    Parameters

    target

    이벤트를 수신할 target object

    handler

    이벤트를 수신할 method

    Return Value

    추가된 이벤트 핸들러.

  • 리사이즈 이벤트 핸들러를 추가한다.

    Declaration

    Swift

    open func addViewResizedEventHandler<U>(target: U, handler: @escaping (U) -> (Roadview) -> Void) -> DisposableEventHandler where U : AnyObject

    Parameters

    target

    이벤트를 수신할 target object

    handler

    이벤트를 수신할 method

    Return Value

    추가된 이벤트 핸들러.

  • 뷰 탭 이벤트 핸들러를 추가한다.

    Declaration

    Swift

    open func addRoadviewTappedEventHandler<U>(target: U, handler: @escaping (U) -> (ViewInteractionEventParam) -> Void) -> DisposableEventHandler where U : AnyObject

    Parameters

    target

    이벤트를 수신할 target object

    handler

    이벤트를 수신할 method

    Return Value

    추가된 이벤트 핸들러.