0

私のコードでは、ユーザーの場所を初期化する必要があります。正常に動作します。

しかし、自分の場所を変更したいときはいつでも(住所を選択したり、画面を一掃したりして)、アプリでユーザーの場所に戻ります。

その投稿で少し答えが見つかりました。でも、私は電話しませんdidUpdateUserLocation()。だから私は何をすべきかわかりません。

私のアプリは頻繁に呼び出しますViewDidLoad()か?

これが私のコードで、場所を初期化します。

var usrLocation: CLLocationManager!

override func viewDidLoad() {
    super.viewDidLoad()
    if (CLLocationManager.locationServicesEnabled()) {
        usrLocation = CLLocationManager()
        usrLocation.delegate = self
        usrLocation.requestAlwaysAuthorization()
        usrLocation.requestLocation()
        usrLocation.startUpdatingLocation()
    }
    mapView.delegate = self
}

また、usrLocation.requestLocation()機能を削除するだけではなく、アプリの起動時にユーザーを中心にする必要があります。他の場所に電話しようと思ったのですが、どこにあるのかわかりません。

4

2 に答える 2

1


usrLocation.startUpdatingLocation()を実装しました

これは場所を更新し続けるため、別の場所を指すとすぐにユーザーの場所が更新されます。

この行を削除すると、コードが機能します。

于 2016-08-04T07:58:14.720 に答える
0

だから、ダンが言ったように、問題は私が電話requestLocation()して、startUpdatingLocation().

だから今、私のコードはそのようなもので、完全に動作します:

var usrLocation: CLLocationManager!

override func viewDidLoad() {
    super.viewDidLoad()
    if (CLLocationManager.locationServicesEnabled()) {
        usrLocation = CLLocationManager()
        usrLocation.delegate = self
        usrLocation.requestAlwaysAuthorization()
        usrLocation.requestLocation()
    }
    mapView.delegate = self
}
于 2016-08-04T07:41:28.917 に答える