Получить текущую позицию с GPS и Wi-Fi - PullRequest
3 голосов
/ 06 мая 2011

В настоящее время я использую только GPS, чтобы узнать текущее местоположение пользователя и вернуть определенные результаты.Как и в Бельгии, если вы внутри, большую часть времени вы не можете получить GPS-соединение.Поэтому я хочу получить текущее местоположение с помощью Wi-Fi-соединения.

Я нашел этот пример: получить текущее местоположение (GPS / Wi-Fi) Но

IЯ не уверен, какие линии сообщают устройству, какое соединение выбрать.Я предполагаю, что это: String provider = myLocationManager.getBestProvider(criteria,true); Что я должен добавить к своему коду.

Когда я проверяю, что внутри этого, я всегда получаю нулевое значение, я не совсем понимаю, почему.

Мой код выглядит сейчас так:

public void getOwnLngLat(){
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
final LocationListener locationListener = new LocationListener(){

public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    longitude="" + location.getLongitude();
    latitude="" + location.getLatitude();
}

public void onProviderDisabled(String provider) {
    // TODO Auto-generated method stub

}

public void onProviderEnabled(String provider) {
    // TODO Auto-generated method stub

}

public void onStatusChanged(String provider, int status,
                Bundle extras) {
    // TODO Auto-generated method stub

   }        
};
locationManager.requestLocationUpdates(locationManager.getBestProvider(new Criteria(), true), 2000, 10, locationListener);
}

Ответы [ 2 ]

3 голосов
/ 06 мая 2011

вы используете метод getbestprovider для определения местоположения, который просто получает любого провайдера, который наиболее соответствует вашим критериям. если вы хотите получить определенный поставщик местоположения, используйте метод getProvider. параметр должен быть одним из результатов метода getProviders. некоторые ссылки: http://developer.android.com/guide/topics/location/obtaining-user-location.html http://developer.android.com/reference/android/location/LocationManager.html

2 голосов
/ 06 мая 2011

Если вы хотите получать обновления от определенного провайдера, вы можете использовать метод requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener) из LocationManager.Список доступных провайдеров можно получить, используя метод getProviders(boolean enabledOnly).

...