[英]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.