拡張現実アプリケーションを作成しました。z軸上に1つのショップの場所(経度と緯度)を指す矢印があります。ここで、ショップの座標を直接指す「空」に注釈を付けます。 。iPhone-AR-Toolkitのようないくつかのプロジェクトをgithubで見つけましたが、これがわかりません。場所の上にそのような注釈を追加する簡単な方法はありますか?
編集: たくさん検索した後、私はde webでpdfドキュメントを見つけました。これには、私が欲しいもののコードが含まれていますが、問題は、それを理解しておらず、正しく機能しないことです。 コード:
// Artificial Horizon - compensate for rotation along x-axis
// need to know the field of view of the camera to find horizon position inside of camera view
// about 53 degrees vertical and 37.5 degrees horizontal
// for directional Horizon - artificial horizon pegged to a specific cardinal direction (North)
// in (void)viewDidAppear
// Load the image to show in the overlay
UIImage *overlayGraphic = [UIImage imageNamed:@"Punkt.png"];
overlayGraphicView = [[UIImageView alloc] initWithImage:overlayGraphic];
overlayGraphicView.frame = CGRectMake(30, 100, 50, 50);
[self addSubview:overlayGraphicView];
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
locationManager = [[CoreLocationMangager alloc] init];
[locationManager setDelegate:self];
[locationManager startUpdatingHeading];
- (void) updateUI {
CGPoint overlayCenter = [overlayGraphicView center];
overlayCenter.y = 240.0 - 537.8 * sin(vertAngle);
overlayCenter.x = 160.0 - 497.8 * sin((magCompassHeadingInDeg) * (M_PI / 180.0));
[overlayGraphicView setCenter:overlayCenter];
overlayGraphicView.transform = CGAffineTransformMakeRotation(angle);
}
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
vertAngle = -atan2(acceleration.y, acceleration.z) - M_PI/2.0;
vertAngleInDeg = vertAngle * 180.0f/M_PI;
angle = -atan2(acceleration.y, acceleration.x) - M_PI/2.0;
angleInDeg = angle * 180.0f / M_PI;
[self updateUI];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading {
magCompassHeadingInDeg = [newHeading magneticHeading];
[self updateUI];
}
カメラオーバーレイにビューが追加された画像があり、この画像は北を指しているはずですが、私の問題は南も指していることです。どうすれば修正できますか?そして、誰でもoverlayCenter.yと.xからの値を説明できますか?私はそれらを理解していません。