助けが必要です。
マップを開くと、現在の場所を grep してサーバーに送信し、そこから他のすべてのピンを取得する必要があります。(近くにあるもののように)。
私は設定しました:
- (void)viewDidLoad
{
// if location services are on
if([CLLocationManager locationServicesEnabled])
{
// if location services are restricted do nothing
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied ||
[CLLocationManager authorizationStatus] == kCLAuthorizationStatusRestricted )
{
NSLog(@"Location tracking disabled.");
}
else
{
NSLog(@"all ok");
self.locationMeneger = [[CLLocationManager alloc] init];
self.locationMeneger.delegate = self;
[self.locationMeneger setDistanceFilter:kCLDistanceFilterNone];
[self.locationMeneger setDesiredAccuracy:kCLLocationAccuracyHundredMeters];
[self.locationMeneger startUpdatingLocation];
}
}
[super viewDidLoad];
}
私のログは私たちの「すべてOK」を出力するので、場所のメネガーは初期化されていますが、デリゲートはありません
// for iOS 6 and more
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
NSLog(@"je updatan");
[NSThread detachNewThreadSelector:@selector(NearByPinOnMap) toTarget:self withObject:nil];
}
// for iOS 5 and lass
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(NSArray *)locations fromLocation:(CLLocation *)oldLocation{
NSLog(@"nov update");
[NSThread detachNewThreadSelector:@selector(NearByPinOnMap) toTarget:self withObject:nil];
}
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
NSLog(@"error maps : %@", error.description);
}
ほとんど呼び出されません。この didUpdateToLocation が呼び出されたことが何度かありましたが、変更がなければ次回は呼び出されませんでした。
誰でも私を助けてください。