gpt4 book ai didi

Android 如何在 LocationManager 中获取高度。我总是归零

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

我正在尝试通过 location.getAltitude() 方法获取当前海拔高度。但它总是返回零。我应该怎么做才能获得当前的高度值。但正确获取经度和纬度。请给我建议。我在谷歌中搜索并计算出一些样本,但所有样本都只返回零。

我用过的代码:

在创建时我调用了 =getMyCurrentLocation();这个方法。

void getMyCurrentLocation() {
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = new MyLocationListener();
try{gps_enabled=locManager.isProviderEnabled(LocationManager.GPS_PROVIDER);}catch(Exception ex){}
try{network_enabled=locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);}catch(Exception ex){}
if(gps_enabled){

locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener);

}

if(network_enabled){
locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locListener);

}


if(gps_enabled){
location=locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);



}

if(network_enabled && location==null) {
location=locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

}

if (location != null) {

MyLat = location.getLatitude();
MyLong = location.getLongitude();
Toast.makeText(this,"My Lat : " + MyLat + "\n" + "My Long : " + MyLong, Toast.LENGTH_SHORT).show();

} else {

}


System.out.println(" LATTITUDE " + MyLat);
System.out.println("Longitude " + MyLong);

}


public class MyLocationListener implements LocationListener

{

@Override

public void onLocationChanged(Location loc)

{

MyLat =loc.getLatitude();
MyLong= loc.getLongitude();
gooalt=getElevationFromGoogleMaps(MyLat,MyLong) ;
double alt=loc.getAltitude(); **==>>> This one returns ZERO**

String Text = "Longitud = " + (loc.getLongitude()) +"Latitud = " + loc.getLatitude()+"Altitude "+gooalt+"feet";

Toast.makeText( getApplicationContext(),Text,Toast.LENGTH_SHORT).show();


}

@Override

public void onProviderDisabled(String provider)

{

Toast.makeText( getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT ).show();

}

@Override

public void onProviderEnabled(String provider)

{

Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();

}

@Override

public void onStatusChanged(String provider, int status, Bundle extras)

{

}

}

最佳答案

你是用什么方法获取位置的?也许你可以试试 http://developer.android.com/reference/android/location/LocationManager.html#getLastKnownLocation(java.lang.String ) 相反,这对我有用。

如果没有,也许可以尝试另一种方法,有几种方法: http://developer.android.com/guide/topics/location/index.html

顺便说一句:你能给我们一些代码吗?您在什么设备上进行测试?

关于Android 如何在 LocationManager 中获取高度。我总是归零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10349800/

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