1

簡単な Google マップのチュートリアルに従おうとしています。基本的には、ユーザーから住所を取得し、Google マップ API に基づいて住所を緯度と経度の座標に変更し、画面上の地図ビューをそれらの座標に移動します。上記のすべてのステップは、最後のものを除いて機能します。スレッド 1 エラーの原因を確認するためにブレークポイントを設定しました: EXC_BAD_INSTRUCTION。

Xcode によると、私の Google マップのビューとカメラは実行時に nil です。Google マップ ビューをインスタンス化するコードは次のとおりです。

@IBOutlet weak var mapsView: GMSMapView! = GMSMapView.mapWithFrame(CGRectZero, camera: GMSCameraPosition.cameraWithLatitude(-33.86,
    longitude: 151.20, zoom: 6))

住所を変更する前にマップ ビューが機能するので、nil にする必要はないと思います。アドレスを変更するときに実行するコードは次のとおりです。

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

ブレークポイントを通じて、緯度と経度が正当であり、カメラとマップ ビューがゼロであることを知りました。どうしてこれなの?

4

1 に答える 1

3

を削除します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

それがうまくいくことを願っています!:)

于 2015-12-03T05:22:13.063 に答える