сейчас я пытаюсь получить свое текущее местоположение, но я не могу получить его только в одном месте 37.4219983, -122.084 это местоположение из любого места, где я не могу получить свое истинное местоположение, и это мой код
private void getDeviceLocation () {
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
try{
if(mLocationPermissionsGranted){
final Task location = mFusedLocationProviderClient.getLastLocation();
location.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if(task.isSuccessful()){
Location currentLocation = (Location) task.getResult();
current_lat=currentLocation.getLatitude();
current_lng=currentLocation.getLongitude();
Log.e("currentLocation",current_lat+"....."+current_lng);
moveCamera(new LatLng(current_lat,current_lng),
15f);
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
mMap.clear();
MarkerOptions markerOptions=new MarkerOptions();
markerOptions.position(new LatLng(latLng.latitude,latLng.longitude)).title("disance");
float[]results=new float[10];
Location.distanceBetween(current_lat,current_lng,latLng.latitude,latLng.longitude,results);
markerOptions.snippet("ditance ="+results[0]);
mMap.addMarker(markerOptions);
}
});
mMap.clear();
}else{
Toast.makeText(add_center_map.this, "unable to get current location", Toast.LENGTH_SHORT).show();
}
}
});
}
}catch (SecurityException e){
}
}
private void moveCamera(LatLng latLng, float zoom){
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoom));
}