2017-04-12 98 views
0

我在使用GoogleMapsSDK时遇到了一个奇怪的问题。在我看来显示Google Map的视图中,嵌入了导航控制器。在导航栏上,我有一个连接到新视图的酒吧按钮。当按下按钮时,赛格是滞后的并且不显示任何内容。iOS - 使用GoogleMaps SDK时出现问题

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

不知道是什么问题。没有实施GoogleMapsSDK,我也有相同的设置。

这里是谷歌地图视图控制器:

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中。

任何帮助非常感谢!

回答

0

我卸载谷歌地图豆荚,然后重新安装它们。这解决了我的问题。一定是xcode的一个bug。

相关问题