Android:谷歌地图相机动画

时间:2017-07-13 05:38:33

标签: android google-maps

如何在不使用onLocationChanged的情况下将相机设置为当前位置(蓝点)的动画(移动)。

3 个答案:

答案 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);
        }
    }
}

答案 1 :(得分:0)

只需移动你的相机而不是animateCamera onMapReady:mGoogleMap.moveCamera(CameraUpdateFactory.newCameraPosition(ur location))

答案 2 :(得分:-1)

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