想要在 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(),
);
不幸的是,物体出现在非常错误的位置。我确信我在计算中遗漏了一些东西。谢谢您的帮助!
你好吗?你找到问题的答案了吗?我正在开始类似的项目。