第二次委托 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 不是零。
我的地图只在第一次使用时工作正常。我是这样声明的。
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 不是零。