2012-11-02 4 views
1

사용자 (클래스 위치)의 위치가 있습니다. 그리고 GeoPoints의 목록. 거리를 계산하는 것이 어떤 기능입니까? 아니면 자신의 기능을 작성하는 것이 유일한 해결책입니까?위치 및 GeoPoint distanceTo()

답변

1

가장 쉬운 방법은 Android Location 클래스에서 distanceBetween 함수를 사용하는 것이라고 생각합니다.

Location userLocation = new Location(); 
GeoPoint geoPoint = new GeoPoint(); 
float[] results = new float[3]; 
Location.distanceBetween(userLocation.getLatitude(), userLocation.getLongitude(), (geoPoint.getLatitudeE6()/1E6), (geoPoint.getLongitudeE6()/1E6), results); 
//result[0] = distance in m 
+0

그레이트 솔루션! 감사) – user1464440

1

이것은 간단한 수학 방정식입니다. Euclidean Distance

을 참조하십시오. 이 작업을 수행하는 라이브러리 함수가 없으면 코딩은 완전히 사소한 것입니다.

1

Openmap은지도가있는 응용 프로그램을 빌드하는 라이브러리입니다. 두 점 사이의 거리 및 방위각 계산을위한 클래스와 메소드가 있습니다. 클래스 Geo을 참조하십시오.

라이브러리가 너무 크면 svn에서 소스를 다운로드하고 Geo 클래스 및 그 종속 항목 만 복사 할 수 있습니다.