Я пытаюсь использовать google maps api v2 для регистрации местоположения пользователя и сохранения его в SQLite db. Мне удалось это сделать. Но теперь проблема возникает, поскольку мои данные о местоположении регистрируются только один раз. Как только пользователь нажимает кнопку, предполагается, что местоположение будет регистрироваться непрерывно, пока пользователь не нажмет другую кнопку. Однако, в моем случае; приложение регистрирует местоположение в тот момент, когда пользователь нажимает кнопку, и все. Место регистрируется ТОЛЬКО ОДИН РАЗ. Я попытался манипулировать временем, используя ручку mLocationRequest, но изменяя время, в котором нет эффекта; мои данные регистрируются только один раз. Может кто-нибудь помочь мне, пожалуйста?Google Maps Android API регистрирует данные только один раз
private void handleNewLocation(Location location) {
String key = "xx";
double currentLatitude = location.getLatitude();
double currentLongitude = location.getLongitude();
LatLng latLng = new LatLng(currentLatitude, currentLongitude);
Log.d("location", String.valueOf(latLng));
databaseHandler.enterMapValues(_workOutId,String.valueOf(latLng));
// Log.d("location new ", String.valueOf(latLng));
old_longitude = currentLongitude;
old_latitude = currentLatitude;
}
Эта функция используется для получения нового местоположения. Я вызываю это в onConnected:
public void onConnected(Bundle bundle) {
Log.i(TAG, "location services connected");
location_current = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); //to get last location
if (location_current == null) { //if last location is null, only then it will request new location
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
} else {
handleNewLocation(location_current);
}
}
Отправьте свой код. –
Можете ли вы поделиться своей реализацией 'onLocationChanged'? – antonio
public void onLocationChanged (Location location) { handleNewLocation (location); } –