2017-07-13 2 views
1

onLocationChangedを意図的に使用せずに、カメラを現在の位置(青い点)にアニメート(移動)する方法。Android:Google Mapsカメラアニメーション

+0

[AndroidのGoogleマップは、アニメーションせずに、現在の場所に移動します]の可能な重複(https://stackoverflow.com/questions/37692476/android-google-maps-go-to-アニメーションなしの現在地) –

+0

「初めて」とはどういう意味ですか?通常、アニメーションはマップの読み込み時に一度だけ、または方向の変更後に発生します。重複したリンクはあなたをカバーするはずです。 –

+0

あなたの提案された質問には何も言及されていません。私はカメラを最初にアニメーション化したいが、地図ホスティングフラグメントがフォアグラウンドになるたびに、ユーザが下部のナビゲーションビューのタブを使って異なるフラグメントをナビゲートするたびにではない。 –

答えて

1

これは、コメントと答え間のフェンスの上に実際にあるが、私はあなたが行動を得ることができると思うがあなたはちょうど活動レベルブールフラグを使用してほしい。最初、このフラグはtrueに設定されます。 trueの場合は、Googleマップをアニメーション化します。それ以外の場合は、アニメートしません。このような何か:

public class MapsActivity extends FragmentActivity 
    implements OnMapReadyCallback, LocationListener { 

    private GoogleMap googleMap; 
    private boolean firstRender = true; 

    @Override 
    public void onLocationChanged(Location location) { 
     CameraUpdate current = CameraUpdateFactory.newLatLngZoom(coordinates,15); 
     if (firstRender) { 
      googleMap.animateCamera(current); 
      firstRender = false; 
     } 
     else { 
      googleMap.moveCamera(current); 
     } 
    } 
} 
+0

ありがとうTim。私はすでに同じでした。私が上記のコメントで述べたように。 :) –

+0

@SubhanAli upvoteは可能ですか? –

+0

あなたの可能な公益団体の言葉通りに失ったポイントはどうですか?それは公開していませんが –

0

だけではなく、animateCamera onMapReadyのウルカメラを動かす:mGoogleMap.moveCamera(CameraUpdateFactory.newCameraPosition(UR場所))

0
public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     // Add a marker in Sydney, Australia, and move the camera. 
     LatLng chennai = new LatLng(new GPSTracker(activity).getLatitude(), new GPSTracker(activity).getLongitude()); 
     mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(chennai, 12)); 
     mMap.addMarker(new MarkerOptions().position(chennai).title("Marker in chennai")); 
    } 
関連する問題