アプリの地図画面には、ユーザーの現在地が表示されます。ユーザーがマップを「閲覧」できるようにしたい (スクロールして他のエリアを探索する) と、現在の場所でマップ上のポイントにユーザーを戻すボタンがありますが、アプリがユーザーがマップを「ブラウズ」して見ているビューを保持することを許可せず、ユーザーの現在の場所にすぐに戻ります。
ここにいくつかのコードがあります:
-(void) setupLocation {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
// locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"didFailWithError: %@", error);
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
// [self.mapView setCenterCoordinate:self.mapView.userLocation.coordinate animated:YES];
tempLat = newLocation.coordinate.latitude;
tempLon = newLocation.coordinate.longitude;
CLLocationCoordinate2D currentLocation = CLLocationCoordinate2DMake(tempLat, tempLon);
MKCoordinateRegion viewRegionLocation = MKCoordinateRegionMakeWithDistance(currentLocation, 100, 100);
[self.mapView setRegion:viewRegionLocation animated:YES];
locationNew = [[CLLocation alloc] initWithLatitude:newLocation.coordinate.latitude longitude:newLocation.coordinate.longitude];
locationOld = [[CLLocation alloc] initWithLatitude:oldLocation.coordinate.latitude longitude:oldLocation.coordinate.longitude];
}
私も持っています:
- (IBAction)stopUpdating:(id)sender {
[locationManager stopUpdatingLocation];
}
と:
- (IBAction)findMe:(id)sender {
[locationManager startUpdatingLocation];
}
マップがユーザーの現在の場所に戻り続ける理由についてのアイデアはありますか??
どうもありがとうございました!