我需要设置当前用户位置的纬度和经度。默认情况下,它必须采用我移动的纬度和经度。
double startLatitude;
double startLongitude;
LatLng start;
startLatitude =currentLocation.getLatitude();
startLongitude = currentLocation.getLongitude();
start = new LatLng(startLatitude, startLongitude);
new Routing(getParent(), mMap, txtDistance).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, start, end);
到目前为止,我已经完成了这样的代码。但它对我没用。我不知道如何设置经度和经度不是默认的。
它必须在我移动的任何地方获取当前用户位置的纬度和经度。
答案 0 :(得分:-1)
按照指示here使用融合位置提供程序。
在清单中指定此权限。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
在您的活动onCreate()
方法中,使用GoogleApiClient.Builder
创建Google API客户端实例。使用构建器添加LocationServices API
。
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
按照此指南查看如何设置Google Client API。 Accessing Google APIs
连接到Google Play服务和位置服务API后,您就可以获得用户设备的最后已知位置。
public class MainActivity extends ActionBarActivity implements
ConnectionCallbacks, OnConnectionFailedListener {
...
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
if (mLastLocation != null) {
mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude()));
mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude()));
}
}
}