2010-12-01 8 views
0

gpx 파일을 사용하여 이동을 시뮬레이트하기 위해 안드로이드 에뮬레이터 ddms를 사용하고 있습니다. gpx 파일에는 약 1000 개의 항목이 있습니다. 그러나, 전체 파일의 과정에서 onLocationChanged 메서드가 몇 번만 트리거되는 것을 발견했습니다. 다음과 같이 내 코드 (1000)에 설정되는 requestLocationUpdates의GPS 에뮬레이터 트랙

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);   

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, myListener); 

myListener = new LocationListener(){ 
public void onLocationChanged(Location location){ 
    double mylat = location.getLatitude(); 
    double mylon = location.getLongitude(); 
    ... 
    } 
... 
} 

내 이해가 1 초 간격의 위치가 떨어져 이전으로부터 1m 이상인 제공된 위치 업데이트를 요청해야한다는 것이다 ...이다. 이 올바른지? 그렇다면 왜 내가 gpx 파일에서 위도/경도 쌍 중 몇 개만 검색할까요? 내가 거의 천명을 되찾지 않을 래? (GPS 데이터는 움직이는 사람이 움직이기 때문에 일정한 움직임이 있습니다.)

답변

1

gpx, kml을 사용하여 에뮬레이터 위치를 사용하거나 위도/경도 좌표를 수동으로 입력하는 데 큰 행운이 없었습니다. 내 경험에 의하면, requestLocationUpdates에서 위치와 거리 최소값을 설정하는 것은 실제 하드웨어에서는 잘 작동하지만 에뮬레이터에서는 제대로 작동하지 않습니다.

gpx 파일을 테스트 용으로 사용하는 경우 시간 및 위치 제약 조건을 0과 0으로 설정하여 에뮬레이터 내에서 1000 점을 모두 등록하는지 확인하십시오.

+0

실제로 매우 도움이되었습니다. 0,0으로 설정하면 모든 점을 얻습니다. 그래서 ... 이것을 읽는 다른 누군가를 위해 : 마크의 조언을 따르십시오. – Ryan