gpt4 book ai didi

android - 使用方向传感器指向特定位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:24 26 4
gpt4 key购买 nike

我正在尝试实现一个使用方向传感器的箭头以指向特定位置。 Google Places 在它找到的每个地点的 ListView 中实现此箭头。

我已经设法获得了方位角,但是给定了一个位置,我不知道如何继续计算我需要的角度。此外,我需要从真北和磁北进行转换。有人有这样的实现示例吗?

提前致谢。

最佳答案

我解决了。

float azimuth = // get azimuth from the orientation sensor (it's quite simple)
Location currentLoc = // get location from GPS or network
// convert radians to degrees
azimuth = Math.toDegrees(azimuth);
GeomagneticField geoField = new GeomagneticField(
(float) currentLoc.getLatitude(),
(float) currentLoc.getLongitude(),
(float) currentLoc.getAltitude(),
System.currentTimeMillis());
azimuth += geoField.getDeclination(); // converts magnetic north to true north
float bearing = currentLoc.bearingTo(target); // (it's already in degrees)
float direction = azimuth - bearing;

如果您要绘制箭头或其他指向方向的东西,请使用 canvas.rotate(-direction)。我们传递一个否定参数,因为 Canvas 旋转是逆时针的。

关于android - 使用方向传感器指向特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com