gpt4 book ai didi

android - bearingTo(Location dest) 究竟计算什么?

转载 作者:行者123 更新时间:2023-11-29 00:11:37 26 4
gpt4 key购买 nike

bearingTo(Location dest) 究竟计算了什么?谁能解释一下??

提前致谢。

 protected void onCreate(Bundle savedInstanceState) {
DestinationLoc.setLatitude(39.543394);
DestinationLoc.setLongitude(-119.816010);
LocationManager lm =(LocationManager)getSystemService(LOCATION_SERVICE);
String provider = lm.getBestProvider(new Criteria(), true);
loc=lm.getLastKnownLocation(provider)
}

public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
Startloc.setLatitude(loc.getLatitude());
Startloc.setLongitude(loc.getLongitude());
if ( Startloc == null ) return;

float azimuth = event.values[0];
float baseAzimuth = azimuth;
mInitialPosition.setText("Initial LatLong: " + Startloc.getLatitude() + " " + Startloc.getLongitude());
GeomagneticField geoField = new GeomagneticField( Double
.valueOf( Startloc.getLatitude() ).floatValue(), Double
.valueOf( Startloc.getLongitude() ).floatValue(),
Double.valueOf( Startloc.getAltitude() ).floatValue(),
System.currentTimeMillis() );
azimuth += geoField.getDeclination(); // converts magnetic north into true north

//Correct the azimuth
azimuth = azimuth % 360;

//This is where we choose to point it
float direction = azimuth + Startloc.bearingTo( DestinationLoc );
float direction2 = Startloc.bearingTo(DestinationLoc);

direction2 值显示为负数。

最佳答案

来源:Android DevelopersBearing 基本上是另一个与 Android 中的 Location 对象关联的属性。所以,位置有纬度、经度,它可以有方位角、高度、速度。根据方法说明getBearing()它表示设备的水平方向。

来源:Wikipedia

在陆地导航中,方位角通常从引用方向 0° 开始按顺时针方向计算并增加到 359.9 度。[4]以这种方式测量的方位角被美国陆军称为方位角,但其他英语国家的军队则不使用方位角这个术语。 [5]如果引用方向为北(真北、磁北或网格北),则方位角称为绝对方位角。在现代陆地导航环境中,真北、磁北和网格方位始终以这种方式测量,真北、磁北或网格北在 360 度系统中为 0°。[4]

关于android - bearingTo(Location dest) 究竟计算什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29806446/

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