locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
centerOnMapLocation(location,"Your location");
}
Этот метод onLocationChanged
следует вызывать, только когда я установил местоположение из extented controls
в эмуляторе, т.е. когда изменилось местоположение пользователя.
public void centerOnMapLocation(Location location, String title){
if(location!=null) {
LatLng userLocation = new LatLng(location.getLatitude(), location.getLongitude());
mMap.clear();
mMap.addMarker(new MarkerOptions().position(userLocation).title(title));
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(userLocation, 12));
}
}
centerOnMapLocation
перемещает камеру в местоположение пользователя. Когда я нажимаю установить местоположение из extented controls
в эмуляторе, камера и маркер перемещаются в новое местоположение. Хорошо. Но после этого, когда я пытаюсь переместить карту, как только я перестаю касаться экрана, камера снова возвращается к маркеру.
В основном, когда я скользлю по карте экран для перемещения по карте, как только мой слайд останавливается (значит, я перестаю касаться экрана), камера снова перемещается к маркеру. Я хочу, чтобы маркер оставался там, и я должен иметь возможность перемещаться по карте в обычном режиме
Почему это происходит, когда камера должна двигаться только при изменении местоположения, а не при смене экрана карты