Иногда я не получаю координаты GPS от NETWORK_PROVIDER

1

LocationManager mlocManager = (LocationManager) getSystemService (Context.LOCATION_SERVICE);

    LocationListener mlocListener = new MyLocationListener();

    mlocManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);

    //init();

}

/* Class My Location Listener */

public class MyLocationListener implements LocationListener

{

@Override

public void onLocationChanged(Location loc)

{

    //_pd.dismiss();

loc.getLatitude();

loc.getLongitude();

String Text = "My current location is: " +"Latitud = " + loc.getLatitude() +"Longitud ="  + loc.getLongitude();
txtInfo.setText(Text);

Toast.makeText( getApplicationContext(),Text,Toast.LENGTH_SHORT).show();

}

@Override

public void onProviderDisabled(String provider)

{

Toast.makeText( getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT ).show();

}

@Override

public void onProviderEnabled(String provider)

{

Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();

}

@Override

public void onStatusChanged(String provider, int status, Bundle extras)

{

}
}

это мой код.... SOmetimes я получаю gps-координаты, и иногда я не понимаю, почему это происходит?

Теги:
gps

2 ответа

0
Лучший ответ

Получение Geo Fix с использованием GPS требует длительного времени, поэтому вам необходимо переключиться между провайдером Wirless и GPS, чтобы надежно получить Geo. Хорошая идея сначала опросить беспроводную сеть и, если она не включена/доступна, а затем отказать провайдеру GPS.

Хорошая ссылка: Android-location-providers-gps-network-passive

0

Это связано с тем, что некоторые местоположения не показывают широту и долготу в android. Это не большая проблема, вы просто проверяете, что ваш lat и lng возвращает null или нет. Если он возвращает null, вы просто показываете простое сообщение, в этом месте нет lat и lng.

  • 0
    Ваш код абсолютно в порядке.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню