Flutter/ARKit - 在 GPS 位置上显示节点

问题描述 投票:0回答:1

想要在 Flutter 中使用 ARKit 显示 GPS 位置上的对象。我从 Geolocator.getCurrentPosition 获取位置。然后我也使用 Geolocator 计算距离和方位

double distance = Geolocator.distanceBetween(position.latitude, position.longitude, g.latitude, g.longitude);
double bearing = Geolocator.bearingBetween(position.latitude, position.longitude, g.latitude, g.longitude);

然后我使用指南针计算设备对物体的方位并返回弧度:

double myBearing = (bearing - _compassDirection) * degrees2Radians;

要将对象放入 ArKitView,我计算位置如下:

double x = distance * cos(myBearing);
double y = 0.0;
double z = 1 - distance * sin(myBearing);

ARKitNode(
  position: vector.Vector3(x, y, z),
  eulerAngles: vector.Vector3.zero(),
);

不幸的是,物体出现在非常错误的位置。我确信我在计算中遗漏了一些东西。谢谢您的帮助!

flutter gps augmented-reality arkit bearing
1个回答
0
投票

你好吗?你找到问题的答案了吗?我正在开始类似的项目。

© www.soinside.com 2019 - 2024. All rights reserved.