簡體   English   中英

Android:Google Maps Camera動畫

[英]Android: Google Maps Camera animation

如何在不故意使用onLocationChanged的情況下將攝像機動畫化(移動)到當前位置(藍點)。

這確實是在評論和答案之間的柵欄,但是我認為您可以通過使用活動級別布爾標志來獲得所需的行為。 最初,此標志將設置為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);
        }
    }
}

只需將您的相機而不是animateCamera移到MapReady上即可:mGoogleMap.moveCamera(CameraUpdateFactory.newCameraPosition(您的位置))

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"));
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM