CLLocation の course メソッドを使用して、ユーザー (NSWO) が取った方向に関する情報を取得しようとしています。私はこのコードを使用しています:
double course;
bool isNord;
course = currentLocation.course;
NSLog(@"Current course: %f", course);
NSInteger courseString = course;
//_labelCompass.text = [NSString stringWithFormat:@"%d", courseString];
if (courseString == -1) {
_labelCompass.text = @"N/A";
}
if (courseString >= 22 && courseString <= 67) {
isNord = false;
_labelCompass.text = @"NE";
}
if (courseString >=67 && courseString <= 112) {
isNord = false;
_labelCompass.text = @"E";
}
if (courseString >= 112 && courseString <= 157) {
isNord = false;
_labelCompass.text = @"SE";
}
if (courseString >= 157 && courseString <= 208) {
isNord = false;
_labelCompass.text = @"S";
}
if (courseString >= 208 && courseString <= 247) {
isNord = false;
_labelCompass.text = @"SW";
}
if (courseString >= 247 && courseString <= 292) {
isNord = false;
_labelCompass.text = @"W";
}
if (courseString >= 292 && courseString <= 337) {
isNord = false;
_labelCompass.text = @"NW";
}
if (isNord == true) {
_labelCompass.text = @"N";
}
もちろんこれ入れてます
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
コース情報が正常に更新されました。このアルゴリズムを使用すると、他のコースのようにコースが北にあるときを知ることができないため、これを構築しました。これよりも優れた方法はありますか?どうもありがとう。