iOS - 使用 GoogleMaps SDK 时出现 Segue 问题

iOS - Segue issue while using GoogleMaps SDK

我在使用 GoogleMapsSDK 时遇到了一个奇怪的问题。在我显示 Google 地图的视图中,嵌入了一个导航控制器。在导航栏上,我有一个已连接到新视图的栏按钮。按下按钮时,segue 卡顿,不显示任何内容。

这是正在发生的事情:http://gph.is/2putLtQ

不确定是什么问题。我在没有实施 GoogleMapsSDK 的情况下使用相同的设置。

这是 Google地图视图控制器:

import UIKit
import GoogleMaps

class GoogleMapsViewController: UIViewController, CLLocationManagerDelegate, GMSMapViewDelegate {

    var locationManager = CLLocationManager()
    var tacoLocations = [TacoLocation]()
    var tacoLocationPlace_id :String!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.locationManager = CLLocationManager()
        self.locationManager.delegate = self
        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
        self.locationManager.distanceFilter = kCLDistanceFilterNone
        self.locationManager.requestWhenInUseAuthorization()
        self.locationManager.startUpdatingLocation()

        let lat = self.locationManager.location?.coordinate.latitude
        let lng = self.locationManager.location?.coordinate.longitude


        // creates the map and zooms the current user location, at a 15.0 zoom
        let camera = GMSCameraPosition.camera(withLatitude: lat!, longitude: lng!, zoom: 15.0)
        let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
        view = mapView

        for location in self.tacoLocations {

            let marker = GMSMarker()

            let lat = location.locationLat
            let lng = location.locationLng

            marker.position = CLLocationCoordinate2D(latitude: lat!, longitude: lng!)
            marker.title = location.name

            if location.open_now == false {
                marker.snippet = "\(location.vicinity!)\nClosed"
            } else if location.open_now == true {
                marker.snippet = "\(location.vicinity!)\nOpen"
            } else {

            }
            marker.userData = location

            marker.icon = UIImage(named: "taco_marker.png")
            marker.infoWindowAnchor = CGPoint(x: 0.5, y: 0.2)

            marker.map = mapView  
        }
        // enable my location dot
        mapView.isMyLocationEnabled = true
        mapView.delegate = self

    }

    //MARK: GMSMapViewDelegate

    func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
        let customWindow = Bundle.main.loadNibNamed("CustomInfoWindow", owner: self, options: nil)?.first as! CustomInfoWindow

        customWindow.nameLabel.text = marker.title
        customWindow.addressLabel.text = marker.snippet

        return customWindow
    }

    func mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker) {

        let tacoLocation = marker.userData as! TacoLocation
        self.tacoLocationPlace_id = tacoLocation.place_id

        DispatchQueue.main.async {
            self.performSegue(withIdentifier: "MoreInfoSegue", sender: self)
        }
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {


        if segue.identifier == "MoreInfoSegue" {


            let tabVC = segue.destination as! UITabBarController
            let moreInfoVC = tabVC.viewControllers?[0] as! MoreInfoViewController
            let reviewVC = tabVC.viewControllers?[1] as! ReviewViewController

            moreInfoVC.tacoLocationPlace_id = self.tacoLocationPlace_id
            reviewVC.tacoLocationPlace_id = self.tacoLocationPlace_id

        } else if segue.identifier == "ARSegue" {

            //segue to new view that is not working correctly.

        }

    }
}

第二个视图控制器中唯一的东西是viewdidload。

非常感谢任何帮助!

我卸载了 google 地图 pods,然后重新安装了它们。这解决了我的问题。一定是 xcode.

的错误