Я пытаюсь создать приложение, которое использует карту, которая удерживает центр карты в вашем местоположении, но когда вы перемещаетесь по карте, она автоматически не перемещается назад.Я пытался заставить его работать некоторое время и пробовал разные вещи.
С моим текущим кодом карта автоматически возвращается в центр, даже если я перемещаю карту.
int swipe = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
mo = new MarkerOptions().position(new LatLng(0, 0)).title("My Current Location");
if (Build.VERSION.SDK_INT >= 23 && !isPermissionGranted()) {
requestPermissions(PERMISSIONS, PERMISSION_ALL);
} else requestLocation();
if (!isLocationEnabled())
showAlert(1);
}
public boolean onTouch(View v, MotionEvent me) {
swipe = 2;
return false;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
marker = mMap.addMarker(mo);
}
@Override
public void onLocationChanged(Location location) {
LatLng myCoordinates = new LatLng(location.getLatitude(), location.getLongitude());
marker.setPosition(myCoordinates);
if (swipe == 1) {
CameraUpdate center = CameraUpdateFactory.newLatLng(myCoordinates);
CameraUpdate zoom = CameraUpdateFactory.zoomTo(15.0f);
mMap.moveCamera(center);
mMap.animateCamera(zoom);
} else {
Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibe.vibrate(100);
}
}