0

助けが必要です。

マップを開くと、現在の場所を 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 が呼び出されたことが何度かありましたが、変更がなければ次回は呼び出されませんでした。

誰でも私を助けてください。

4

1 に答える 1