2014-01-22 3 views
0

Вот как я получаю свою широту и долготу.Как еще я могу получить координаты геолокации?

Criteria criteria = new Criteria(); 
      LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
      String provider = locationManager.NETWORK_PROVIDER; 
      Location location = locationManager.getLastKnownLocation(provider); 
      if(location==null) 
      { 
      //do nothing  
      }else 
      { 
     double  longitude = location.getLongitude(); 
     double   latitude = location.getLatitude(); 
     saveCoordinates(location); // there goes another method 

      } 

вот список разрешений на мое устройство все работает нормально, но на других устройствах (например, таблетки), это не возвращает координаты .. Как я понимаю, он спрашивает GPS и сетевые координаты и этот код ничего не возвращает. Но когда они используют другие приложения, такие как карты Google, их местоположение определяется правильно.

Итак, как еще я могу получить координаты?

ответ

1

Вам нужно будет спросить о новом месте. Добавить в своем заявлении

LocationListener ll = new mylocationlistener(); 
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll); 

и это вне вашей функции.

private class mylocationlistener implements LocationListener { 
    @Override 
    public void onLocationChanged(Location location) { 
     if (location != null) { 
     Log.d("LOCATION CHANGED", location.getLatitude() + ""); 
     Log.d("LOCATION CHANGED", location.getLongitude() + ""); 
     Toast.makeText(MainActivity.this, 
      location.getLatitude() + "" + location.getLongitude(), 
      Toast.LENGTH_LONG).show(); 
     } 
    } 
    @Override 
    public void onProviderDisabled(String provider) { 
    } 
    @Override 
    public void onProviderEnabled(String provider) { 
    } 
    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
    } 
    } 

Примечание: -

Кроме того, вместо того чтобы создавать новый класс, который вы всегда можете добавить implements LocationListener к вашей деятельности. Затем вы также получите функцию выше 4. Добавьте к ним тот же код.

+0

ОК, но .. провайдер всегда либо сетевой, либо gps? – user2976267

+0

@ пользователь2976267 yep. В настоящее время услуги по размещению - только GPS и сеть. –

+0

хорошо, в конце концов выясняется, что пользователи не проверяли все параметры в настройках gps android – user2976267

Смежные вопросы