私は現在の座標と高度を表示できるようにユーザーの場所を常に更新する必要があるアプリを持っています。私はdidUpdateLocations機能を使って、これをやっている:Google Maps iOS SDK各場所のアップデート後にカメラのズームを防止する
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if let location = locations.last {
mapView.camera = GMSCameraPosition(target: locationManager.location!.coordinate, zoom: 15, bearing: 0, viewingAngle: 0)
let locValue : CLLocationCoordinate2D = manager.location!.coordinate
let altitude : CLLocationDistance = Double(round(1000*manager.location!.altitude)/1000)
let long = Double(round(10000*locValue.longitude)/10000)
let lat = Double(round(10000*locValue.latitude)/10000)
let alt = String(altitude) + " m"
latitudeLabel.text = String(lat)
longitudeLabel.text = String(long)
altitudeLabel.text = alt
showLearningObjectsWithinRange(location)
}
}
私は少しでもカメラが再び戻ってズームするデバイスを移動する場合は、マップ上の特定の場所にズームインしようとすると問題があります。明らかにこれは、私のdidUpdateLocations関数の最初の行がカメラの位置を設定しているためですが、その行を削除すると、マップはその位置にまったく集中しません。
GMSCameraPositionコードをviewDidLoad、viewWillAppear、および他のいくつかの場所に移動しようとしましたが、ユーザーが時間内に見つからないためにクラッシュする原因となりました。
誰でもこの作業を行う方法に関する提案はありますか?ありがとう。位置更新を実装に関して
ズーム:15、ズームが変化しないようmap.camera.zoomのものを使用するか、ドキュメントをチェックイン場所を更新するとき – Shubhank