2015-09-04 4 views
0

Я разрабатываю приложение на основе карты и получаю широту и долготу и показываю на карте для рисования маршрута с помощью google api. Когда я пытаюсь использовать приложение на дороге (с велосипедом), то ошибочная широта и долгота означает, что вы и направление, и маршрут, как круг.Как получить точные координаты широты и долготы в приложении Android?

Я хочу точно определить координаты широты и долготы в приложении для Android.

Bellow code Я использовал для определения местоположения.

public Location getLocation() { 
    try { 
     locationManager = (LocationManager) this.getApplicationContext().getSystemService(LOCATION_SERVICE); 
     // getting GPS status 
     isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
     // getting network status 
     isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
     if (!isGPSEnabled && !isNetworkEnabled) { 
      Toast.makeText(this, "Youe GPS service is not enabled",Toast.LENGTH_SHORT).show(); 
     } else { 
       if (isNetworkEnabled) { 
       locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,GPS_TIME_INTERVAL,GPS_DISTANCE, this); 
       Log.d("Network", "Network"); 
       if (locationManager != null) { 
        location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
        if (location != null) { 
         latitude = location.getLatitude(); 
         longitude = location.getLongitude(); 
        } 
       } 
       } 
      else if (isGPSEnabled) { 
        if (location == null) { 
         locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,GPS_TIME_INTERVAL,GPS_DISTANCE, this); 
         Log.d("GPS Enabled", "GPS Enabled"); 
         if (locationManager != null) { 
          location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
          if (location != null) { 
           latitude = location.getLatitude(); 
           longitude = location.getLongitude(); 
          } 
         } 
        } 
       } 
      if(location != null) 
      persistLocation(location); 
      stopUsingGPS(); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return location; 
} 
+0

Вы вызываете это: 'requestLocationUpdates', но вы не можете показать код для этого обратного вызова. Вот где будут получены точные показания. – weston

+0

Кроме того, почему вы предпочитаете местоположение сети через GPS? И прочитайте это: http://developer.android.com/guide/topics/location/strategies.html Вам не нужно физически покидать дом, чтобы проверить ваше приложение. – weston

+0

@ Lucky, вы используете карту google? –

ответ

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