Я отображать текущее местоположение на карте с помощью этого кода:Google карты масштаба уровня
GoogleMap googleMap;
public static Location mLocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_maps);
SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
googleMap = fm.getMap();
googleMap.setMyLocationEnabled(true);
LocationManager locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(provider);
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
mLocation = location;
displayCurrentLocation();
}
});
}
public void displayCurrentLocation() {
CameraPosition cameraPosition = new CameraPosition.Builder().
target(new LatLng(mLocation.getLatitude(), mLocation.getLongitude())).
zoom(15).
bearing(0).
build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
}
Если я буду приближать после нескольких возвращений второго уровня масштабирования, чтобы это положение стартера. Я знаю, что это из-за увеличения (15) в моем слушателе, но есть ли возможность этого не делать? Если использование будет увеличивать и начнет ходить, я не хочу потерять свой уровень масштабирования
переменная loadLocation доступна изнутри внутреннего класса. он должен быть окончательным. – gsiradze
не окончательный, если вы окончательный, вы не можете изменить его значение, его значение может измениться только в конструкторе. –
спасибо, что это работает – gsiradze