2016-07-26 11 views
0

Swift内のCoreLocationに関する質問があります。私は現在、毎秒ユーザーの場所をCoreLocationで取得するアプリケーションを実行しています。これは素晴らしいことですが、(特にユーザーが1日を通してアプリを使いたいので)大量のメモリとバッテリーが必要です。過去(x)秒間に位置情報を取得して地図のようにプロットし、遡及的に情報を処理する方法があるかどうかは疑問だ。例えばCore Location - Swiftで遡及的に情報を引き出す

:それはCoreLocationから遡って情報を引き出すことが可能です場合

それが更新で...最後のリフレッシュ以降3秒であった場合はボタン -

var lastLocations = [(<+37.33233141,-122.03121860> +/- 5.00m (speed 0.00 mps/course -1.00) @ 7/26/16, 3:11:20 PM Mountain Daylight Time),(<+37.33233141,-122.03121860> +/- 5.00m (speed 0.00 mps/course -1.00) @ 7/26/16, 3:11:20 PM Mountain Daylight Time),(<+37.33233141,-122.03121860> +/- 5.00m (speed 0.00 mps/course -1.00) @ 7/26/16, 3:11:20 PM Mountain Daylight Time)] 
することは誰でも知っていますか?

答えて

0

コアの場所には履歴がありません。履歴情報が必要な場合は、履歴情報を自分で収集して管理する必要があります。

メモリの問題を修正するには、データをファイル(おそらくCore Data、それ以外のもの)に保存して、メモリにすべて保存する必要がないようにします。バッテリーの問題は、アプリが何をしているかによって異なります。長期間にわたって1秒に1回コアの位置情報を更新することは、正直言って、バッテリを速く使い果す本当の方法です。正確な位置情報を取得するには電力が必要であり、場所を取得する頻度が高ければ高いほど、使用する電力は増えます。

実際に頻繁に更新が必要な場合は、それに固執しています。しかし、コア・ロケーションの「重要な」ロケーション更新オプションなど、他の手段を使用することで、頻繁ではない場所の更新を犠牲にして、より低い電力要件を得ることができます。

関連する問題