2013-10-24 2 views
0

this tutorial 을 참조하는 운동 추적 응용 프로그램을 만들었으며 모두 정상적으로 작동합니다.Phonegap Geolocation 점프

그러나 나는 추적을 멈추고지도로 간다. 나는 킬로미터가 훨씬 더 크고 내가 지나친 킬로미터임을 알게된다. 그리고지도는 내가 가지고있는 것이 몇 가지 점에서 확실하다는 것을 보여준다. 거기에 ...

(내 휴대 전화에서 이미지가 없으므로 첨부 된 이미지로지도의 결과를 시뮬레이션 했으므로 ...) 코드는 자습서 코드와 동일합니다 (수정 사항은 var를 삭제하는 버그 -이 튜토리얼을 알고있는 사람들을 위해 ...)) 무엇이 문제인가?

enter image description here

+0

을 위치 기반 응용 프로그램을 만들 때 어떤 GPS 수신기 장치로 연주했는지 (어떤 플랫폼이든 상관 없음) : 한 곳에서 정적으로 유지되거나 다중 경로 간섭을받을 때마다 GPS 수신기가 급격한 위치를 차지합니다. 모든 GPS 새로 고침보다 예상 거리 거리를 무시하는 거리 필터를 포함하는 것이 좋습니다. – ecle

+0

http://www.esri.com/news/arcuser/0103/differential1of2.html의 ** 제한 사항 ** 단락을 참조하십시오. – ecle

답변

0

나는 eee와 동일하게 발견 - GPS를 사용하는 동안 가장 좋은 방법은 정확도 필터를 사용하는 것입니다 때문에 안드로이드가 간헐적으로,이 같은 격렬하게 부정확 한 위치를 제공하는 것입니다 :

var MinimumAccuracy = 20; // metres 
var options = { maximumAge: 0, timeout: 30000, enableHighAccuracy: true }; 
var watchID; 

function onSuccess(position){ 
    // Reject udpate if accuracy is not sufficient 
    if(position.coords.accuracy > MinimumAccuracy){ 
     console.warn("Position update rejected because accuracy of"+position.coords.accuracy+"m is less than required "+MinimumAccuracy+"m"); 
     return; 
    } 

    /* else, do something with position */ 

} 

function onError(error){ 
    // Log the error 
    console.error("Error while retrieving current position. Error code: " + error.code + ",Message: " + error.message); 
} 

navigator.geolocation.watchPosition(onSuccess, onError, options); 
관련 문제