Мое текущее местоположение всегда возвращает значение null. Как я могу это исправить?

Я пытаюсь найти свое текущее местоположение для проекта Android. Когда приложение загружено, мое текущее местоположение всегда равно нулю. Я настроил разрешения в манифесте и т. д. Когда я нахожу текущее местоположение, я намерен использовать координаты для определения расстояний до других мест на карте. Мой фрагмент кода ниже. Почему я всегда получаю нулевое значение?

locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);          
Criteria crit = new Criteria();     
towers = locMan.getBestProvider(crit, false);
location = locMan.getLastKnownLocation(towers);    

if (location != null) {                 
    System.out.println("Location is not null!");
    lat = (int) (location.getLatitude() *1E6);
    longi = (int) (location.getLongitude() * 1E6);
    GeoPoint ourLocation = new GeoPoint(lati, longi);
    OverlayItem overlayItem = new OverlayItem(ourLocation, "1st String",
                                                            "2nd String");
    CustomPinpoint custom = new CustomPinpoint(d, MainMap.this);
    custom.insertPinpoint(overlayItem);
    overlayList.add(custom);
    overlayList.clear();
} else {
   System.out.println("Location is null! " + towers);
   Toast.makeText(MainMap.this, "Couldn't get provider",Toast.LENGTH_SHORT)
                                                                    .show();
}
17
задан Mr_and_Mrs_D 18 July 2013 в 16:08
поделиться