2012-08-08 2 views
0
public class MyLocation { 
Context mContext; 
LocationManager mlocManager; 
LocationListener mlocListener; 
double lat=0,lng=0; 

public MyLocation(Context mContext) { 

    super(); 
    this.mContext = mContext; 
    mlocManager = (LocationManager)mContext.getSystemService(mContext.LOCATION_SERVICE); 
    mlocListener = new MyLocationListener(); 
    mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener); 

} 
/* Class My Location Listener */ 
public class MyLocationListener implements LocationListener { 
    private static final int TWO_MINUTES = 1000 * 60 * 2; 


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

     String Text = "My current location is: " +"Latitud = " + loc.getLatitude() +"Longitud = " + loc.getLongitude(); 
    // Toast.makeText(mContext,Text,Toast.LENGTH_SHORT).show(); 
     lat = loc.getLatitude(); 
     lng = loc.getLongitude(); 
    } 

    public void onProviderDisabled(String provider){ 
     Toast.makeText(mContext,"Gps Disabled",Toast.LENGTH_SHORT).show(); 
    } 

    public void onProviderEnabled(String provider){ 
     Toast.makeText(mContext," Gps Enabled" ,Toast.LENGTH_SHORT).show(); 
    } 

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

    } 
    } 
} 

를 반환합니다.실제로 내 위치를 반환해야하고이 클래스는이 클래스가 ... 내 위치는 항상 <code>0.0 0.0</code> 무엇을 몰라해야 무엇을 반환하지 않습니다 0.0 0.0

내가

+0

당신이 당신의 Manifest.xml에 올바른 사용 권한이 있습니까? – tolgap

+0

사용자 위치를 가져올 권한을 추가 했습니까? http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_COARSE_LOCATION 및 http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION –

+0

에뮬레이터를 사용하는 경우 이 기능을 테스트하려면 0.0, 0.0을 반환합니다. – Midhu

답변

1

외출 시도 ...이

mylocation = new MyLocation(this);

나는 GPS를 가지고 있고 응용 프로그램이 그래서 이것이 문제가되지 않습니다 시작할 때 네트워크가 활성화처럼이 클래스를 사용 (내가 돈 ' t는 이것을 공격적으로 의미한다). 때때로 GPS는 실내에서 신호를 수신하지 않기 때문에 실제 데이터를 얻기 위해 외부로 나가야 할 수도 있습니다. GPS가 신호를 찾지 못하면 0.0, 0.0을 반환합니다.

편집 : 또한 GPS 방법을 덮어 쓰지 않는 것으로 나타났습니다. (onLocationChanged, onProviderEnabled, onProviderDisabledonStatusChanged)에 대해 @Override을 추가하십시오. 이것은 도움이 될 수 있습니다.

편집 2 : 여전히 작동하지 않는이, "다음"위치 & 보안 설정 "(장치간에 약간 다른 이름을 지정할 수 있습니다), 휴대 전화의 설정으로 이동하고 있는지 확인합니다"무선 네트워크 사용 "을 경우 GPS 위성 사용 "이 모두 선택되어 있습니다.

편집 3 :
이 모든 자신의 클래스, @Override에 오류가 있습니다 :

import android.location.Location; 
import android.location.LocationListener; 
import android.os.Bundle; 

public class MyLocationListener implements LocationListener { 

    @Override 
    public void onLocationChanged(Location location) { 
     // TODO Auto-generated method stub 

    } 

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

    } 

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

    } 

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

    } 

} 
+0

좋습니다! 나는 그것을 시험 할 것이다. 그리고 나는 잠시 동안 기다릴 것이다! – exilonX

+0

그래도 문제가 해결되지 않으면 "편집 :"옆에 방금 추가 한 부분을 사용해보십시오. 그게 당신에게 효과가 있는지 알려주세요. – Mxyk

+0

나는 아무것도 바뀌지 않았다 ... 편집 부분을 시도한다 – exilonX

관련 문제