gpt4 book ai didi

java - 如何在android中获取纬度和经度?

转载 作者:太空宇宙 更新时间:2023-11-03 13:01:11 25 4
gpt4 key购买 nike

android2.3.3如何获取当前的经纬度?

我试着关注 this但我无法运行程序。

我的代码

    LatView = (TextView)findViewById(R.id.LatText);
LngView = (TextView)findViewById(R.id.LngText);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();

我在 android manifest 中放了这个。

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

请帮忙。谢谢。

最佳答案

这是我在我的应用程序中找到设备当前位置的方法,它工作正常:

public class MyLocationActivity extends Activity implements LocationListener {
private LocationManager mgr;
private String best;
public static double myLocationLatitude;
public static double myLocationLongitude;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mgr = (LocationManager) getSystemService(LOCATION_SERVICE);

dumpProviders();

Criteria criteria = new Criteria();

best = mgr.getBestProvider(criteria, true);
Log.d("best provider", best);

Location location = mgr.getLastKnownLocation(best);
dumpLocation(location);

//may be some intent here
}

public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
dumpLocation(location);

}

public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub

}

@Override
protected void onPause() {

super.onPause();
mgr.removeUpdates(this);
}

@Override
protected void onResume() {

super.onResume();
mgr.requestLocationUpdates(best, 15000, 1, this);
}

private void dumpLocation(Location l) {

if (l == null) {

myLocationLatitude = 0.0;
myLocationLongitude = 0.0;
} else {

myLocationLatitude = l.getLatitude();
myLocationLongitude = l.getLongitude();
}
}

private void dumpProviders() {

List<String> providers = mgr.getAllProviders();
for (String p : providers) {

dumpProviders(p);
}
}

private void dumpProviders(String s) {

LocationProvider info = mgr.getProvider(s);
StringBuilder builder = new StringBuilder();
builder.append("name: ").append(info.getName());
}

}

这里 MyLocationLatitude 和 MyLocationLongitude 给出了你需要的纬度和经度值。

关于java - 如何在android中获取纬度和经度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11251023/

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