我有一个必须获得实际纬度和经度的应用。我正在尝试使用此处发布的代码执行此操作:How do I get the current GPS location programmatically in Android?类GPSTracker
。
问题在于,有时候获取位置的速度太慢,有时会出现过时的位置。我不需要跟踪位置,我只需要在用户按下按钮时获取位置。来自Google的地图应用程序可以如此快速地获取它,我该怎么做?
答案 0 :(得分:1)
如何使用新推出的融合位置信息提供商作为参考:http://developer.android.com/training/location/retrieve-current.html
public static class MyActivity extends Activity
implements
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener,
LocationListener {
private LocationRequest lr;
private LocationClient lc;
Location location;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// inflate view
lr = LocationRequest.create();
lr.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
lc = new LocationClient(this,
this, this);
lc.connect();
}
@Override
public void onLocationChanged(Location location) {
//Get new Location here.
}
@Override
public void onConnectionFailed(ConnectionResult arg0) {
}
@Override
public void onConnected(Bundle connectionHint) {
lc.requestLocationUpdates(lr, this);
// get last Location
location = lc.getLastLocation();
}
@Override
public void onDisconnected() {
}
}
答案 1 :(得分:0)
我相信他们使用这个“新”位置api。您可以在这里找到示例代码,以帮助您启动和运行。我在我正在开发的应用程序中使用过它,它运行得非常好。我使用了“平衡”模式。
http://developer.android.com/google/play-services/location.html
答案 2 :(得分:0)
我对此可能不正确,因为我在Android中也是新手。
但据我所知,有三种不同的方式可以找到用户的位置。
您可以做的是,首先检查网络可用性,如果存在,请从那里获取经度和纬度。
稍后您可以使用GPS获得更高的准确度。 但最初,从网络获取位置要快得多