Я не могу получить широту и долготу по GPS в моем эмуляторе - PullRequest
1 голос
/ 12 января 2012

Я определил метод для получения текущего местоположения нажатием кнопки, когда я нажимаю его в первый раз, это сработало. Но тогда мне ничего не возвращается. И исключений не выбрасывается

public class getLoc extends Activity{
private Button btn;
private TextView tv;
private  LocationManager locm;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tv=(TextView) findViewById(R.id.location_text);
    btn=(Button) findViewById(R.id.btn_location);
    btn.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
             locm=(LocationManager) getLoc.this.getSystemService(Context.LOCATION_SERVICE);
            locm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new myLocationListener() );
        }
    });
}
protected void getCurrentLocation(){
    Location loc=locm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    Toast.makeText(getApplication(), String.valueOf(loc.getLatitude()), Toast.LENGTH_SHORT).show();
    System.out.println(loc.getLatitude());
    System.out.println(loc.getLongitude());

Ответы [ 3 ]

0 голосов
/ 12 января 2012

в классе myLocationListener

вы должны переопределить метод onLocationChanged

      public void onLocationChanged(Location location) {
        Toast.makeText(getApplication(), String.valueOf(location.getLatitude()), Toast.LENGTH_SHORT).show();
        System.out.println(location.getLatitude());
        System.out.println(location.getLongitude());

    }
0 голосов
/ 12 января 2012

Вы пытались изменить местоположение в Eclipse перед его повторной отправкой?Если вы отправляете одно и то же местоположение несколько раз, эмулятор не будет вызывать событие местоположения.

Также необходимо включить макеты местоположений на устройстве (где-то в параметрах разработки) и манифест:

<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
0 голосов
/ 12 января 2012

Вы должны включить библиотеку API-карты и разрешения интенета в файл манифеста

<uses-library android:name="com.google.android.maps" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

Вы упомянули эти разрешения?

...