Ios 斯威夫特:我的GMSMapView出乎意料地为零

Ios 斯威夫特:我的GMSMapView出乎意料地为零,ios,google-maps,gmsmapview,Ios,Google Maps,Gmsmapview,我正试图遵循一个简单的谷歌地图教程。它基本上从用户那里获取地址,根据GoogleMapsAPI将地址更改为纬度和经度坐标,然后将屏幕上的地图视图移动到这些坐标。除最后一步外,以上每一步都有效。我已经设置了断点,以查看导致线程1错误的原因:EXC\U BAD\U指令 根据Xcode,我的谷歌地图视图和相机在运行时为零。以下是我的代码,用于实例化我的Google地图视图: @IBOutlet weak var mapsView: GMSMapView! = GMSMapView.mapWithFra

我正试图遵循一个简单的谷歌地图教程。它基本上从用户那里获取地址,根据GoogleMapsAPI将地址更改为纬度和经度坐标,然后将屏幕上的地图视图移动到这些坐标。除最后一步外,以上每一步都有效。我已经设置了断点,以查看导致线程1错误的原因:EXC\U BAD\U指令

根据Xcode,我的谷歌地图视图和相机在运行时为零。以下是我的代码,用于实例化我的Google地图视图:

@IBOutlet weak var mapsView: GMSMapView! = GMSMapView.mapWithFrame(CGRectZero, camera: GMSCameraPosition.cameraWithLatitude(-33.86,
    longitude: 151.20, zoom: 6))
我的“地图”视图在我尝试更改地址之前工作,所以我认为它不应该为零。以下是我更改地址时运行的代码:

                    let coordinate = CLLocationCoordinate2D(latitude: self.mapTasks.fetchedAddressLatitude, longitude: self.mapTasks.fetchedAddressLongitude)
                let camera = GMSCameraPosition.cameraWithTarget(coordinate, zoom: 14.0)
                self.mapsView.camera = camera

通过断点,我知道纬度和经度是合法的,我的相机和地图视图是零。为什么会这样?

您是否删除了您的
IBOutlet
?如果是,请尝试以下方法:

@IBOutlet weak var mapsView: GMSMapView!

let latitude = self.mapTasks.fetchedAddressLatitude
let longitude = self.mapTasks.fetchedAddressLongitude
let coordinate = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
let camera = GMSCameraPosition.cameraWithTarget(coordinate, zoom: 14.0)

self.mapsView.camera = camera

希望是工作!:)

所以崩溃发生在
self.mapView.camera=camera
?是的,就是在那里发生的。你把
mapsView
传递给其他控制器了吗?或者你可以在其他地方设置
mapsView
nil。我在第一次设置mapsView时将其切换到我的位置。没有线程错误,但它没有显示正确的位置