2014-11-22 3 views
3

내비게이션 앱을 시작한 다음 결과 (가장 중요한 것은 주행 거리)를 사용해야하는 앱을 만들고 있습니다. startActivityForResult를 사용하고 "google.navigation"체계를 사용하여 탐색 활동을 시작합니다. 이처럼 : 이것은 위대한 작품을결과 Android 검색 시작

Intent i = new Intent(
    Intent.ACTION_VIEW, 
    Uri.parse("google.navigation:q=Somewhere")); 
startActivityForResult(i,1); 

, 활동이 완료되면 내가 콜백을 얻을 수 있지만, 활동의 데이터 부분이 비어 있습니다.

이 방법이 있습니까?

데이터에 대한 최신 여행을 탐색 할 수있는 탐색 내역이 있습니까?

안부 야콥 사이먼 - Gaarde

답변

2

내가 구글 네비게이션에서 콜백에 대해 알고하지 않습니다. 그러나 주행 거리를 얻는 데에만 관심이 있다면 백그라운드에서 위치 업데이트를 계속 듣고 거리를 직접 계산할 수 있습니다. 다음 함수는 LatLang 좌표 둘 사이의 거리를 계산하는 android.location.Location을 사용

public double getGeodesicDistance(LatLng from, LatLng to){ 
    Location _fromLoc = new Location("From location"); 
    _fromLoc.setLatitude(from.latitude); 
    _fromLoc.setLongitude(from.longitude); 

    Location _toLoc = new Location("To location"); 
    _toLoc.setLatitude(to.latitude); 
    _toLoc.setLongitude(to.longitude); 

    return Math.round(_fromLoc.distanceTo(_toLoc)); // distance in metres 
} 

을하지만이 방법을하기로 결정한 경우, 당신은 GPS 데이터의 갑작스러운 점프를 감지하고 적절하게 처리해야합니다.

+0

이것은 결과 지향적 인 대답입니다. 나는 더 조사 할 것이다! –

3

이 방법이 있습니까?

아니요, 결과를 얻기 위해 활동을 강요 할 방법이 없습니다. 활동이 결과를 지원하는지 여부는 활동의 작성자가 아닌 활동의 발신자에게 결정됩니다.

데이터에 대한 최신 여행을 탐색 할 수있는 탐색 내역이 있습니까?

Google 내비게이션 Android 앱 (google.navigation 구성표 포함)에 대해 문서화되고 지원되는 API는 없습니다.

+0

나는 활동에서 대답을 강요 할 수 없다는 것을 안다. 내장 된 스킴 활동에 대해 Google에서 문서를 그리워합니다. –

2

네비게이션을 시작하기 바로 전에 위치를 얻을 수 있으며 네비게이션이 닫히면 다시 가져 와서 차이를 계산할 수 있습니다.

+0

이것은 실제 주행 거리는 아니지만 거리 계산에 기초한 예상치입니다. –