安卓:谷歌地图相机动画



如何在不使用onLocation的情况下将相机动画(移动(到当前位置(蓝点(故意更改。

这确实在评论和答案之间,但我认为您只需使用活动级别的布尔标志即可获得所需的行为。 最初,此标志将设置为 true。 如果为真,您将对谷歌地图进行动画处理。 否则,您将不会进行动画处理。 像这样:

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

只需移动您的相机而不是动画相机在地图上准备好: 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"));
}

最新更新