まずは,コンパスを使うための準備をする.以下のようなhファイルを作成する.ここで,CoreLocationフレームワークを忘れずに読み込んでおく.
#import < UIKit/UIKit.h >そして,viewDidLoad内にて,
#import < CoreLocation/CoreLocation.h >
@interface sampleCompassViewController : UIViewController
< cllocationmanagerdelegate >
{
CLLocationManager *manager;
}
@end
manager = [[CLLocationManager alloc] init];として,デリゲートを設定する.
if ( [manager locationServicesEnabled] == YES)
{
manager.delegate = self;
[manager startUpdatingHeading];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateHeading:(CLHeading *)newHeading
{
// trueHeading, magneticHeading, geomagnetic data (x, y, z)
NSLog(@"%f %f %f %f %f", newHeading.trueHeading, newHeading.magneticHeading,
newHeading.x, newHeading.y, newHeading.z);
}
これを実機にてビルドして試してみたけど,やり方によってはgeomagnetic dataって変わるもんやね.真実?は分からないけど,アプリのコンセプトにアイディアは脱帽です.1200円取ってもバチは当たらないわ.このサンプルソース(3GS専用)です.遊びたい人はどうぞ.
0 コメント:
コメントを投稿