2016-10-24 2 views
0

나는 내 데이터베이스에 저장된 위도/경도로 식별되는 장소의 증가하는 목록을 가지고 있습니다. 이제 UI 앞면에는 자동 완성 텍스트 상자가있는 화면이 있습니다. 여기에 위치를 입력하면 드롭 다운이 장소와 함께 나타나고 장소를 선택하면 카메라가 거기로 이동합니다. 또한 근처에 위치를 표시해야합니다 (데이터베이스에 저장된 위치). 이제 어떻게해야할까요? 나는안드로이드 구글지도 주변의 미리리스트 된 위치 찾기

SphericalUtil.computeDistanceBetween() 

를 사용할 수 있습니다 그러나 문제는 내가 내 데이터베이스에서 모든/위도 긴 가져 오기 및 성능을 방해하지 않고 거리를 계산 할 수있다.

답변

1

데이터베이스의 거리를 계산해야합니다.

  • 데이터베이스에 자신의 거리 메소드를 구현 :
    • 당신의 위치가 버전 (서로 가까이하고 피타고라스의 정리를 사용할 수 있습니다/LNG 위도 시험에 가까운 경우 두 가지 기본 옵션이 있습니다 모든 경우에 맞지 않는 기본 접근법)
    • 모든 가능한 경우를 처리하기 위해 자신의 haversine formula을 구현할 수 있습니다 (호버린 수식 은 구면의 두 점 사이의 큰 원 거리를 경도와 위도로 제공합니다 및에서 거리를 계산하는 데 사용됩니다.방법).
  • GIS 데이터베이스를 사용하십시오. 당신은 당신의 위치를 ​​필터링 할 SpatiaLite for Android를 사용하고 ST_Distance 기능을 사용할 수 있습니다 :
SELECT * 
FROM yourtable 
WHERE ST_DISTANCE(Geometry, MakePoint(yourXcoordinate, yourYcoordinate)) < yourdistance 
+0

감사합니다! 나는 이것을 시도하고 적절하게 업데이트 할 것이다. – Saurav