イベントを取得する

イベントを取得する

SDKでは、カメラの移動やViewへのタッチイベントを取得することができます。

イベントを取得するには、ZMSMapViewDelegateプロトコルを実装します。
通常、このプロトコルをZMSMapViewを保持するViewControllerで実装します。

@interface ViewController : UIViewController<ZMSMapViewDelegate>
カメライベント
  • mapView:willMove:
    • カメラ位置が変更されようとしている際にイベントが発生します
    • gesture引数がYESの場合はユーザーがZMSMapView上でスクロールやピンチ操作をおこなおうとしていることを示します
    • gesture引数がNOの場合は、ジェスチャ操作以外のmoveCamera:update:メソッドなどでカメラが移動することを示します
  • mapView:didChangeCameraPosition:
    • カメラ位置が変更された際にイベントが発生します
    • カメラが更新された位置を通知します
  • mapView:idleAtCameraPosition:
    • カメラ位置などが更新されていない状態にイベントが発生します
  • ​mapView:ouOutofArea:
    • setMovalRegion:bbox:で設定した範囲境界線上にカメラ中心がある場合にイベントが発生します
       

画面操作イベント
  • mapView:didTapAtCoordinate:
    • ZMSMapView上をユーザーがタップした際にイベントが発生します
    • タップした地図上の緯度経度情報を通知します
  • mapView:didLongPressAtCoordinate:
    • ZMSMapView上をユーザーが長押しした際にイベントが発生します
    • 長押しした位置の緯度経度情報を通知します
ユーザーオブジェクトイベント
  • mapView:didTapOverlays:
    • ユーザーが追加したユーザー定義のオブジェクト上をタップした際にイベントが発生します
    • オブジェクトのtappableプロパティがNOの場合はイベントが発生しませんが、visibleプロパティがNOの場合でもイベントは発生します