2012-12-27 3 views
0

나는 android에서 응용 프로그램을 개발 중이며 android mobile의 위도와 경도를 얻고 싶습니다. 위도와 경도를 얻기위한 코드는 얼마 후 값을 제공합니다. 때로는 가치를 부여하지 않습니다. 아무도 내가 할 수있는 일을 도와 줄 수 없어!경도와 위도 값을 더 빨리 얻기

+2

주에게 관련 코드를 감사하고 당신이 시도 무엇 : – AndroidLearner

+0

우리에게 보여, 그것은 아마 시간이 걸릴 것이다. 다른 매개 변수는 무엇입니까 정확도는 어떻습니까? 정확도에 대해별로 신경 쓰지 않는다면 다른 방법을 사용하여 위도와 경도를 얻을 수 있습니다. –

+0

이것은 현재 사용중인 코드입니다. LocationManager locManager; locManager = (위치 관리자) getSystemService (Context.LOCATION_SERVICE); locManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, locationListener); 위치 location = locManager.getLastKnownLocation (LocationManager.GPS_PROVIDER); if (location! = null) { String lat = String.valueOf (location.getLatitude()); \t v1.setText (lat); \t String longi = String.valueOf (location.getLatitude()); \t v2.setText (longi); – Divyesh

답변

0

가장 빠른 방법은 마지막으로 알려진 위치를 얻는 것입니다. getLastKnownLocation() 이 위치의 시간이 멀리 있지 않은지 확인하십시오 location.getTime(). 또는 실제 위치를 얻을 때까지 사용하십시오.

또 다른 팁은 모두 GPS_PROVIDER를 사용하는 것입니다 NETWORK_PROVIDER 그래서 코드는 다음과 같이 될 것입니다 :

LocationManager locManager; 
    locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
/*call both providers , the quickest one will call the listener and in the listener you remove the locationUpdates*/ 
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0 ,0 , locationListener); 
    locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0 ,0 , locationListener); 


    Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
    /*check both providers even for lastKnownLocation*/ 
    if (location == null) 
    { 
    location = locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
    } 

    if(location != null) { 

    String lat = String.valueOf(location.getLatitude()); 
    v1.setText(lat); 
    String longi = String.valueOf(location.getLatitude()); 
    v2.setText(longi); 
    } 

이 간단한 예입니다, 더 정교한 솔루션 제공 업체 사이의 최신 lastKnownLocation을 비교한다.

+0

첫 번째 부분은 주석이어야합니다. –

1

현재 위치를 가져 오려면이 코드를 추가해야합니다. 할 모든 권한을 부여해야합니다

Location Manager location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
if(location!=null) 
{ 
latitude = location.getLatitude(); 
longitude = location.getLongitude(); 
} 
0

  • 응용 프로그램이 그 때 사용되는 일부 다른 응용 프로그램에서 실행되지 않을 때 때문에 최신을 얻을 경우 위치 서비스 제공자로부터 마지막으로 알고있는 위치에 사용하십시오 위치 관리자를 사용하여 현재 위치를 가져옵니다.

  • 일단 위치 관리자로 응용 프로그램을 시작하면 위치 관리자는 기본적으로 현재 위치를 전송할 준비를하기 위해 시간이 오래 걸립니다. 그래서 그 시간에 위치 공급자로부터 위치를 알고 있어야합니다. 그런 식으로 일단 위치 관리자가 안정되면 해당 위치를 사용하십시오.

이것은 가장 좋은 방법입니다. 당신이 위도와 경도를 얻기 위해 GPS를 사용하는 경우

당신 Bhavdip

관련 문제