デバイスでリアルタイム速度を計算するにはどうすればよいですか? 私はたくさんグーグルで検索しましたが、私が得たのは、旅の完了後に距離と速度を計算することだけです. 実行時に速度を計算できますか?
提案は大歓迎です。
前もって感謝します。
デバイスでリアルタイム速度を計算するにはどうすればよいですか? 私はたくさんグーグルで検索しましたが、私が得たのは、旅の完了後に距離と速度を計算することだけです. 実行時に速度を計算できますか?
提案は大歓迎です。
前もって感謝します。
ここCLLocationManager
のクラスは、緯度、経度、精度、速度などのさまざまな場所のフィールドを提供します。
私CoreLocationController
は場所の更新に使用します。この次のメソッドを呼び出して、現在の速度を取得できます- (void)locationUpdate:(CLLocation *)次の ような場所のメソッド
- (void)locationUpdate:(CLLocation *)location
{
NSString *currentspeed = [NSString stringWithFormat:@"SPEED: %f", [location speed]];
}
または以下はデリゲートメソッドです
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"in update to location");
NSString *currentspeed = [NSString stringWithFormat:@"SPEED: %f", [newLocation speed]];
}
また、このリンクから例を取得できます... http://www.vellios.com/2010/08/16/core-location-gps-tutorial/
これがお役に立てば幸いです... :)
CLLocationManagerDelegate
コントローラーのヘッダー ファイルにデリゲートを追加します。
Location Manager を初期化し、このように Location Manager のデリゲート メソッドを実装するデリゲートを設定します。
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self; // send loc updates to current class
クラスにメソッドを書くことができます
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"Location Speed: %f", newLocation.speed);
}
以上で、上記の方法で位置情報の更新を速度とともに取得し、できるだけ頻繁にトリガーします。