第二次委托 GMSMapView

Delegate GMSMapView second time

我的地图只在第一次使用时工作正常。我是这样声明的。

class ViewController: UIViewController, GMSMapViewDelegate {
    @IBOutlet weak var GoogleMap: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.GoogleMap.delegate = self
        let camera: GMSCameraPosition = GMSCameraPosition.cameraWithLatitude(55.755826, longitude: 37.6173, zoom: 9.0)
        self.GoogleMap?.camera = camera
    }
}

当我通过我的应用程序的所有屏幕,并通过 Segue 返回带有地图的主屏幕时,连接到该地图的所有事件都不起作用。地图仍然显示,但它停止与此屏幕上的其他元素交互。

我想这可能是委托的问题,但我不知道如何解决。我想听听任何建议!

我解决了这个问题。我只是没有在第二次定义我的 ViewController 变量。条件不正确。

if(vc==nil) {
    vc = self
}

所以它第二次没有用,因为 vc 不是零。