GMSMapView中的UITapGestureRecogniser

sol*_*ing 7 ios uitapgesturerecognizer gmsmapview swift

我正在使用swift创建一个应用程序.在我的一个ViewController中,我有一个以编程方式创建的GMSMapView.我希望用户能够在单击地图时触发操作.

我做了什么 :

import UIKit

class MapViewController: UIViewController, GMSMapViewDelegate {

let mapView = GMSMapView()

override func viewDidLoad() {
        super.viewDidLoad()

        mapView.delegate = self
        mapView.settings.scrollGestures = false
        mapView.frame = CGRectMake(0, 65, 375, 555)
        view.addSubview(mapView)


        var tap = UITapGestureRecognizer(target: self, action: "tap:")
        mapView.addGestureRecognizer(tap)
}

func tap(recogniser:UITapGestureRecognizer)->Void{
        println("it works")
    }

}
Run Code Online (Sandbox Code Playgroud)

我试图覆盖touchesBegan,没有工作.我试图插入mapView.userInteractionEnabled = true,没有工作......

任何的想法?

sol*_*ing 6

我设法做到了

func mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D) {
        println("It works")
    }
Run Code Online (Sandbox Code Playgroud)

但如果有人能向我解释为什么其他解决方案不起作用,那就太好了!