GoogleMapSDK(GMSMapView)与Swift崩溃

时间:2016-09-16 10:37:27

标签: ios swift google-maps

我添加了带有pod的GoogleMap SDK,它位于Objective-C

我正在使用bridge-header在Swift项目中使用。

在appdelegate中我使用此代码提供api密钥

GoogleMapsService.provideAPIKey(kGooglePlacesApiKey)
// where kGooglePlacesApiKey is the key generated on google console.

在ViewController中,我使用下面的代码添加Google地图

func addGoogleMap()
{
    let camera = GMSCameraPosition.cameraWithLatitude(51.5074,
                                                      longitude: 0.1278, zoom: 10)
    mapView = GMSMapView.mapWithFrame(CGRectMake(0, 157, self.view.frame.size.width, self.view.frame.size.height - 206.1), camera:
        camera)
    mapView.myLocationEnabled = true
    mapView.delegate = self
    self.view .addSubview(mapView)
}

当我尝试创建GMSMapView的对象时,它总是在这一行崩溃:

mapView = GMSMapView.mapWithFrame(CGRectMake(0, 157, self.view.frame.size.width, self.view.frame.size.height - 206.1), camera:
        camera)

它没有给出任何错误日志,它只是切换到appdelegate并以红色显示错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

创建一个CGRect,其中所需的框架设置为mapview框架

var gframe = CGRectMake(0, 157, self.view.frame.size.width, self.view.frame.size.height - 206.1)

        mapView = GMSMapView.mapWithFrame(gframe, camera:camera)