GoogleMapsを提供するMKMapViewクラスはUIResponderを継承しているので、単純にtouchesBeganとかをオーバーライドすれば動くかと思いきや、予想通り動かない。 MKMapViewは使っての通り、すでにイベントが実装された状態なので、そのままオーバーライドしてしまうと、拡大縮小や移動などマップを動かす処理も同時に消去されてしまう。superで呼び出しても駄目。 調べてみると、UIViewを一個用意してそれにTouchイベントを実装し、そのUIViewにMKMapViewをaddSubviewすることで実現している人もいたけど、今回はもうちょっとスマートな方法を。 Map.h #import < UIKit/UIKit.h> #import < MapKit/MKMapView.h> @interface Map : MKMapView { UIView *vi