0

ユーザーを常にマップの中心に保つ必要があるアプリを作成しています。

私は以下を設定しました:

locationManager = (LocationManager) saveContext
        .getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new MapLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000,
        10, locationListener);
if (myLocation != null) {
    setLocation(myLocation);
}

private void setLocation(Location location) {
    workoutMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(
            location.getLatitude(), location.getLongitude()), 18.0f));
}

携帯電話の履歴に lastKnownLocation がある限り、これは機能します。マップは正しく中央に配置されます。

新しい場所の更新を取得するたびに、新しい場所情報を使用して setLocation() が再度実行されることを願っています。

lastKnownLocation を取得してから setLocation(); を取得するスレッドを作成しようとしました。しかし、これはうまくいきません。

4

2 に答える 2