てっきりMKMapViewDelegateの中に実装メソッドがあると思ってたら違ってた...
UILongPressGestureRecognizerで長押しイベントを検知する必要がある。
let mapView = MKMapView() override func viewDidLoad() { super.viewDidLoad() //長押し時のイベントを検知 let longPress = UILongPressGestureRecognizer(target: self, action: #selector(recognizeLongPress(sender:))) //MapViewにリスナーを登録 self.mapView.addGestureRecognizer(longPress) } //長押し時の処理 @objc func recognizeLongPress(sender: UILongPressGestureRecognizer) { //長押し感知は最初の1回のみ if sender.state != UIGestureRecognizer.State.began { return } let location = sender.location(in: self.mapView) let coordinate = self.mapView.convert(location, toCoordinateFrom: self.mapView) print(coordinate.latitude) print(coordinate.longitude) }
リンク
リンク