Swift: 我的 GMSMapView 意外地为零

Swift: My GMSMapView is unexpectedly nil

我正在尝试学习一个简单的 Google 地图教程。它基本上从用户那里获取地址,根据 google 地图 api 将地址更改为纬度和经度坐标,然后将屏幕地图视图移动到这些坐标。除了最后一步,上面的每一步都有效。我已设置断点以查看导致我的线程 1 错误的原因:EXC_BAD_INSTRUCTION.

根据 Xcode,我的 Google 地图视图和相机在 运行 时为零。这是实例化我的 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

希望一切顺利! :)