GPSを利用するには CoreLocation.framework 、地図を利用するには MapKit.fraework が必要。
@interface FirstViewController : UIViewController
<
CLLocationManagerDelegate,
MKMapViewDelegate
>
{
MKMapView *mapview;
CLLocationManager *locationManager;
}
@end
- (void)viewDidLoad {
[super viewDidLoad];
mapview = [[MKMapView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:mapview];
locationManager = [[CLLocationManager alloc] init];
if ([locationManager locationServicesEnabled]) {
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
}
CLLocationAccuracy はGPS の精度に関わる設定
extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0);
extern const CLLocationAccuracy kCLLocationAccuracyBest;
extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters;
extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters;
extern const CLLocationAccuracy kCLLocationAccuracyKilometer;
extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers;
直訳すればそのままなので、特に説明するまでもないです。
話がそれるけど、こういった基本処理を Titanium ではラッパーして JavaScript で操作できるようにしているので、Titanium で作成した方が効率がよい部分が多い。 ピンをつけたり、delegate 使わずして 位置情報とったりなどなど、数行で取得できる。
ただ、本質を知る上では最低限の事はしっておくべきかと思います。