2015-07-20 50 views
0

我正在嘗試遵循一個簡單的Google Maps教程。它基本上從用戶那裏獲得一個地址,根據谷歌地圖api將地址更改爲緯度和經度座標,然後將屏幕地圖視圖移動到這些座標。除了最後一步,上面的每一步都是有效的我已經設置了斷點來查看導致線程1錯誤的原因:EXC_BAD_INSTRUCTION。Swift:我的GMSMapView意外地沒有

根據Xcode,我的谷歌地圖視圖和相機在運行時爲零。這裏是我的代碼來實例化我的谷歌地圖查看:

@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 

通過斷點我知道經度和緯度是合法的,而且我的相機和地圖視圖是零。爲什麼是這樣?

+0

所以崩潰發生在'self.mapView.camera = camera'? – ztan

+0

是的,這就是它發生的地方 –

+0

你把你的'mapsView'傳遞給其他控制器嗎?或者你可以在其他地方設置'mapsView' nil。 – ztan

回答

1

您是否刪除了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 

希望它的工作! :)

+0

謝謝這個作品! –