почему это не мое текущее местоположение только одно местоположение 37.4219983, -122.084? - PullRequest
2 голосов
/ 29 апреля 2019

сейчас я пытаюсь получить свое текущее местоположение, но я не могу получить его только в одном месте 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));
}

1 Ответ

1 голос
/ 30 апреля 2019

Вы, вероятно, тестируете это в эмуляторе. Его местоположение установлено на

Долгота: -122,0840 Широта: 37,4220 Высота: 0,0

по умолчанию.

Вы можете проверить на реальном устройстве или настроить другие координаты для вашего виртуального устройства в Расширенные элементы управления (три точки рядом с AVD).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...