2014-06-18 2 views
0

나는 내 전화기의 말쑥한 위치를 얻으려고 애 쓰고있다. 나는 마지막 위치 인 장치을 알 필요가 없다. 추시 코드 내 휴대 전화의 위도와 경도를 얻을 수 있지만, 항상 아프리카내 GPS가 항상 Android에서 아프리카 위치를 반환하는 이유는 무엇입니까?

의 데이터

을 반환에서 onCreate

Double latitude, longitude 
    LocationManager mLocation; 
    String bestProvider; 
    LocationListener mListener; 
    mLocation = (LocationManager) getSystemService(LOCATION_SERVICE); 
    mListener = new MyLocationListener(); 
    Criteria c = new Criteria(); 
    c.setAccuracy(Criteria.ACCURACY_COARSE); 
    c.setAltitudeRequired(false); 
    c.setBearingRequired(false); 
    c.setCostAllowed(false); 
    c.setPowerRequirement(Criteria.POWER_HIGH); 
    bestProvider = mLocation.getBestProvider(c, true); 
    mLocation.requestLocationUpdates(bestProvider, 0, 0, mListener); 

내부 클래스

 class MyLocationListener implements LocationListener { 

     @Override 
     public void onLocationChanged(Location location) { 

      latitude = location.getLongitude(); 
      longitude = location.getLatitude(); 

     } 

     @Override 
     public void onProviderDisabled(String provider) { 


     } 

     @Override 
     public void onProviderEnabled(String provider) { 


     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) { 


     } 
    } 

이 코드는 항상 0.0643404, 2.6465832,7을 반환 . 어떻게 틀린거야 ?? 나는 Settings에서 확인 많은 장치에 내 aplication을 테스트하고 장치에서 같은

답변

1

잘못된 gps 포인트 또는 유효하지 않은 위도/경도 포인트가있는 경우 가끔 발생합니다. 그런 다음지도가 그 데이터를지도의 중간에있을 가능성이 큰 기본 오류 지점에 플롯합니다.

이것은 ArcGIS Ersi 맵에서 나에게 일어났습니다.

+0

무효 포인트 ??? 그래서 내 코드가 잘못 됐어? – cheloncio

+0

이상한 문제가 발생했습니다. 위도가 0.0, 0.0이 아닙니다. 나는 아프리카에서 온 제로가 아닌 0 위도를 얻고 있습니다. 나는 아시아에 있습니다. –

0

일어날 봤는데


Developer Options 및 개발자 옵션으로 얻을 수있는 방법 마지막으로 Allow mock locations

이 알려져있다 안드로이드의 다른 버전으로 변경하려면 Google for it 수 있습니다.

+0

응용 프로그램이있는 모든 장치에서이를 수행해야합니다. – cheloncio

+0

귀하의 게시물은 문제가 발생한 장치의 수를 나타내지 않았으므로 귀하의 개발 장치라고 가정했습니다. 이것이 하나 이상의 기계에서 발생한다면, '모의 장소 (mock locations)'가 원인 일 가능성은 희박합니다. –

+0

정확히, 코드가 worng ?? – cheloncio

관련 문제