Slava Slava - 1 year ago 172
Swift Question

Delegate GMSMapView second time

My map works fine only at first time. This is how I declare it.

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

override func viewDidLoad() {

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

When I pass all screens of my app, and get back to the main screen with maps through Segue, all events which are connected to this maps don't work. The map still displays but it stops interacting with other elements on this screen.

I suppose it can be a problem with delegate, but I don't know how to solve it. I would like to hear any suggestions!

Answer Source

I solved this problem. I just didn't define my ViewController variable at the second time. There was incorrect condition.

if(vc==nil) {
    vc = self

So it didn't work second time, cause vc wasn't nil.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download