ZMSMapViewDelegate

Objective-C

@protocol ZMSMapViewDelegate <NSObject>

Swift

protocol ZMSMapViewDelegate : NSObjectProtocol

地図イベントのデリゲート

  • アニメーションやジェスチャーなどで、カメラの移動が開始される前にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView willMove:(BOOL)gesture;

    Swift

    optional func mapView(_ mapView: ZMSMapView, willMove gesture: Bool)

    Parameters

    mapView:

    対象の地図

    gesture:

    ユーザーによる操作(YES) / コードによる操作(NO)

  • アニメーション中やジェスチャー中など、カメラの移動時にコールされる

    Note

    移動中は繰り返し実行される。
    アニメーション中は全てのカメラ位置で呼ばれるわけではないが、最後のカメラ位置では必ず呼び出される。

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didChangeCameraPosition:(nonnull ZMSCameraPosition *)position;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didChange position: ZMSCameraPosition)

    Parameters

    mapView:

    対象の地図

    position:

    カメラ位置情報

  • カメラの移動が完了した後、アイドル状態になった際にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        idleAtCameraPosition:(nonnull ZMSCameraPosition *)position;

    Swift

    optional func mapView(_ mapView: ZMSMapView, idleAt position: ZMSCameraPosition)

    Parameters

    mapView:

    対象の地図

    position:

    カメラ位置情報

  • 任意の位置をタップした際にコールされる

    Note

    マーカー選択時は呼び出されないが、マーカが非選択状態になる際は呼び出される。

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didTapAtCoordinate:(CLLocationCoordinate2D)coordinate;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didTapAt coordinate: CLLocationCoordinate2D)

    Parameters

    mapView:

    対象の地図

    coordinate:

    座標(緯度/経度)

  • 地図上の任意の位置を長押しするとコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didLongPressAt coordinate: CLLocationCoordinate2D)

    Parameters

    mapView:

    対象の地図

    coordinate:

    座標(緯度/経度)

  • マーカーがタップされるとコールされる

    戻り値によってマーカーの選択状態を制御できる。

    Note

    デフォルト値: NO

    Declaration

    Objective-C

    - (BOOL)mapView:(nonnull ZMSMapView *)mapView
        didTapMarker:(nonnull ZMSMarker *)marker;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didTap marker: ZMSMarker) -> Bool

    Parameters

    mapView:

    対象の地図

    marker:

    対象のマーカー

    Return Value

    マーカーを選択状態にしない(YES) / マーカーを選択状態にする(NO)

  • マーカーが選択された際にコールされる

    このデリゲートでUIViewを返した場合、インフォウィンドウの代わりにそのUIViewが表示される。

    Declaration

    Objective-C

    - (nullable UIView *)mapView:(nonnull ZMSMapView *)mapView
                markerInfoWindow:(nonnull ZMSMarker *)marker;

    Swift

    optional func mapView(_ mapView: ZMSMapView, markerInfoWindow marker: ZMSMarker) -> UIView?

    Parameters

    mapView:

    対象の地図

    marker:

    対象のマーカー

    Return Value

    インフォウィンドウの代わりに表示するUIView

  • マーカーのインフォウィンドウをタップした際にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didTapInfoWindowOfMarker:(nonnull ZMSMarker *)marker;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didTapInfoWindowOf marker: ZMSMarker)

    Parameters

    mapView:

    対象の地図

    marker:

    対象のインフォウィンドウの親マーカー

  • マーカーのインフォウィンドウを長押しするとコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didLongPressInfoWindowOfMarker:(nonnull ZMSMarker *)marker;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didLongPressInfoWindowOf marker: ZMSMarker)

    Parameters

    mapView:

    対象の地図

    marker:

    対象のインフォウィンドウの親マーカー

  • 重畳物をタップした際にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didTapOverlays:(nonnull NSArray *)overlays;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didTapOverlays overlays: [Any])

    Parameters

    mapView:

    対象の地図

    overlays:

    タップされた位置に存在する重畳物のリスト

  • Deprecated

    重畳物をタップした際にコールされる

    Warning

    廃止予定

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didTapOverlay:(nonnull ZMSOverlay *)overlay;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didTap overlay: ZMSOverlay)

    Parameters

    mapView:

    対象の地図

    overlay:

    タップされた位置に存在する重畳物

  • 現在地ボタンがタップされた時にコールされる

    戻り値によって現在地の移動を制御できる。

    Note

    デフォルト値: NO

    Declaration

    Objective-C

    - (BOOL)didTapMyLocationButtonForMapView:(nonnull ZMSMapView *)mapView;

    Swift

    optional func didTapMyLocationButton(for mapView: ZMSMapView) -> Bool

    Parameters

    mapView:

    対象の地図

    Return Value

    現在地に移動しない(YES) / 現在地に移動する(NO)

  • 移動範囲外へ出た時にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        onOutOfArea:(nonnull ZMSCameraPosition *)camera;

    Swift

    optional func mapView(_ mapView: ZMSMapView, onOutOfArea camera: ZMSCameraPosition)

    Parameters

    mapView:

    対象の地図

    camera:

    カメラ位置情報

  • 地図内で発生したタッチイベント(TouchesBegan)をUIスレッド経由で中継する

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        touchesBegan:(nonnull NSSet *)touches
           withEvent:(nonnull UIEvent *)event;

    Swift

    optional func mapView(_ mapView: ZMSMapView, touchesBegan touches: Set<AnyHashable>, with event: UIEvent)

    Parameters

    mapView:

    対象の地図

    touches:

    タッチ情報

    event:

    イベント情報

  • 地図内で発生したタッチイベント(TouchesMoved)をUIスレッド経由で中継する

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        touchesMoved:(nonnull NSSet *)touches
           withEvent:(nonnull UIEvent *)event;

    Swift

    optional func mapView(_ mapView: ZMSMapView, touchesMoved touches: Set<AnyHashable>, with event: UIEvent)

    Parameters

    mapView:

    対象の地図

    touches:

    タッチ情報

    event:

    イベント情報

  • 地図内で発生したタッチイベント(TouchesEnded)をUIスレッド経由で中継する

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        touchesEnded:(nonnull NSSet *)touches
           withEvent:(nonnull UIEvent *)event;

    Swift

    optional func mapView(_ mapView: ZMSMapView, touchesEnded touches: Set<AnyHashable>, with event: UIEvent)

    Parameters

    mapView:

    対象の地図

    touches:

    タッチ情報

    event:

    イベント情報

  • 地図内で発生したタッチイベント(TouchesCancelled)をUIスレッド経由で中継する

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        touchesCancelled:(nonnull NSSet *)touches
               withEvent:(nonnull UIEvent *)event;

    Swift

    optional func mapView(_ mapView: ZMSMapView, touchesCancelled touches: Set<AnyHashable>, with event: UIEvent)

    Parameters

    mapView:

    対象の地図

    touches:

    タッチ情報

    event:

    イベント情報

  • 現在位置が変化した時にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didUpdateLocations:(CLLocationCoordinate2D)coord;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didUpdateLocations coord: CLLocationCoordinate2D)

    Parameters

    mapView:

    対象の地図

    coord:

    位置情報

  • 端末の向きが変化した時にコールされる

    Declaration

    Objective-C

    - (void)mapView:(nonnull ZMSMapView *)mapView
        didUpdateHeading:(CLLocationDirection)heading;

    Swift

    optional func mapView(_ mapView: ZMSMapView, didUpdateHeading heading: CLLocationDirection)

    Parameters

    mapView:

    対象の地図

    heading:

    端末の向き