2

私は最近多くのことを使用してきましたが、CLLocationManager結果はまちまちです。アプリがバックグラウンドで実行されている場合、GPS から場所を取得できます。また、場所の大幅な変更も可能です。

ただし、私は常に-1.0のコースを取得しているようです。これは(ドキュメントによると)無効なコースを示しています。

私のdidUpdateToLocation方法では、単に次のことを行っています。

double courseDegrees = newLocation.course;

何か不足していますか?

編集:はい、移動中に試しました。

4

1 に答える 1

3

CLLocationManagerクラスリファレンスのドキュメントから:

startMonitoringSignificantLocationChanges

このインターフェイスは、デバイスに関連付けられたセル タワーへの変更を検出した場合にのみ新しいイベントを配信するため、更新の頻度が減り、電力使用量が大幅に削減されます。

コースを受信するには GPS が必要であり、携帯電話基地局の場所を特定する必要はありません。コースが必要な場合は、使用をstartUpdatingLocation開始するために変更する必要があります

desiredAccuracy= AccuracyBestForNavigation 
于 2013-01-30T20:50:32.793 に答える