2013-03-13 3 views
0

Я собираюсь разработать приложение, в котором мне нужно получить текущее местоположение пользователя в приложении, чтобы извлекать данные для определенного местоположения. Прежде чем приступать к этому, я хотел бы узнать, как работает GPS-система для Android &, каково отношение к WiFi. Может ли кто-нибудь рассказать мне полное объяснение относительно GPS & Geo Code в отношении устройств Android. & подскажите, как мне нужно начинать.Как GPS и Geo Location работают на устройствах Android

+0

Райна Ли, talonmies @ существует очевидная мысль за задаю этот вопрос , Я просто хотел узнать о том, как работает GPS на телефонах Android Smart. У меня должны быть знания обо всех зависимостях. Так что в дальнейшем это не вызовет осложнений. Благодарю. –

ответ

3

У Android есть три способа получить текущее местоположение пользователя.

  1. Через WI-FI
  2. через вашу NetworkProvider.
  3. Через чип GPS на устройстве Android.

Из них наиболее точный способ - получить координаты от GPS. Это позволит получить точное местоположение в широтах лат, но также будет использоваться большая часть батареи. Это обычно используется в навигационных картах, где важна точность.

остальная часть двух методов менее точная, но также используется меньше батареи. Если точность текущего местоположения не так важна, вы можете использовать последние два. Все эти методы доступны через LocationManager android.

EDIT:

 // To get Updates From GPS Use 
    mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, 
      currentlocation); 

     //To get Updates From network Use 
    mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, 
      currentlocation); 
+0

Большое спасибо за ваш ответ. могу ли я спросить вас, как я могу получить текущее местоположение, используя только WiFi-соединение. насколько он подходит и как он должен быть неточным или вредным для применения. –

+0

Мы используем GPS-провайдера, как правило, для целей навигации. Если ваше приложение не имеет такого требования, и вы хотите показать общую информацию об окружении, то вам следует выбрать обновления местоположения через Network Provider. Таким образом, вы получите неточное текущее местоположение, даже если нет Wi-Fi. Вы получите обновления своего местоположения, используя Network Provider.LocationListener currentlocation = new CurrentLocation(); mlocManager.requestLocationUpdates (LocationManager.NETWORK_PROVIDER, 0, 0, currentlocation); –

1

Взгляните на это, может помочь вам,

LocationManager mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
LocationListener mlocListener = new MyLocationListener(); 

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


public class MyLocationListener implements LocationListener { 

@Override 
public void onLocationChanged(Location loc) { 
loc.getLatitude(); 
loc.getLongitude(); 

Geocoder gcd = new Geocoder(getApplicationContext(), 
     Locale.getDefault()); 
try { 
    mAddresses = gcd.getFromLocation(loc.getLatitude(), 
      loc.getLongitude(), 1); 

} catch (IOException e) { 

} 

String cityName = (mAddresses != null) ? mAddresses.get(0) 
     .getLocality() : TimeZone.getDefault().getID(); 
String countryName = (mAddresses != null) ? mAddresses.get(0) 
     .getCountryName() : Locale.getDefault().getDisplayCountry() 
     .toString(); 


     mCurrentSpeed.setText(loc.getSpeed()); 
    } 

    @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) { 
    } 
} 
4

GPS

В эти дни большинство Android смартфон имеют AGPS чипы установлены. AGPS означает Вспомогательный GPS, который принимает помощь o f сетевые башни и горячие точки WI-FI, чтобы быстро определить местоположение поблизости и помочь смартфону с поддержкой Android GPS получить блокировку с помощью GPS-спутников. Андроидные смартфоны с чипами AGPS также могут иметь блокировку с GPS-спутниками без необходимости в плане данных или сети, но для этого требуется четкое представление о небе и некоторое время для блокировки с помощью спутников GPS.

Google Maps - это навигационная система с картами, на которых есть активное соединение для передачи данных, и обычно находите местоположение вашего устройства с помощью сетевой башни или горячих точек WI-FI, в которых местоположение не так точно. в Android есть две настройки в «Моих местах», которые нужно включить. Использовать беспроводные сети, которые являются расчетчивыми, а другие - использовать GPS-спутники, для которых требуется больше батареи, а также четкое представление о небе. Таким образом, мы можем сказать, что чипы AGPS оснащены или оснащены Android-смартфоном. точное местоположение местоположения и использование GPS-спутников в полной мере.

геокодировать

Геокодирование это процесс преобразования адрес или другой описание местоположения в (широта, долгота) координат.

Следующие ссылки помогут вам узнать

1) https://developers.google.com/maps/documentation/directions/
2) http://blog.synyx.de/2010/06/routing-driving-directions-on-android-part-1-get-the-route/
3) http://eagle.phys.utk.edu/guidry/android/mappingDemo.html
4) Google Maps API Version difference

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