2013-04-25 66 views
5

Tôi đang tìm kiếm giải pháp trong Android để kiểm tra xem liệu điểm GPS có nằm trong tập hợp vị trí GPS bắt đầu và kết thúc nhất định hay không. Ví dụ ông A sẽ bắt đầu từ điểm X và sẽ đạt điểm Z qua Y. Bây giờ nếu ông B cho một vị trí P thì chúng tôi muốn kiểm tra xem điểm P này có nằm trên tuyến đường của ông A hay không.Cách tìm điểm GPS có nằm trong tập hợp vị trí GPS bắt đầu và kết thúc nhất định không?

Nếu có vẻ như GPS không đủ cho nó thì bạn cũng có thể đề xuất bất kỳ cách nào khác.

Tôi rất mong nhận được phản hồi của bạn !!

Trả lời

0

Tôi giả định rằng "Đã đặt bắt đầu và kết thúc" có nghĩa là bạn có một gốc được xác định trong Cơ sở dữ liệu của mình. Câu trả lời của tôi dựa trên cùng một mục đích. Hãy xem xét phương pháp sau,

public static float getDistance (float lat1, float lng1, float lat2, float lng2) 
{ 
    double earthRadius = 3958.75; 
    double dLat = Math.toRadians(lat2-lat1); 
    double dLng = Math.toRadians(lng2-lng1); 
    double a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
    Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * 
    Math.sin(dLng/2) * Math.sin(dLng/2); 
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    double dist = earthRadius * c; 

    int meterConversion = 1609; 

    return new Float(dist * meterConversion).floatValue(); 
} 

Bây giờ bạn cần so sánh giá trị vĩ độ của ông A với bảng chữ cái của DB. Nếu bạn khoảng cách là vài mét có nghĩa là ông A đã đến thăm điểm đó. Sử dụng logic này, bạn cần phải kiểm tra tất cả các điểm GPS của Mr A với gốc được lưu trữ trong DB của bạn.

+0

Cảm ơn Lucifer vì câu trả lời của bạn. Có thể tìm nạp tất cả vị trí có sẵn giữa hai điểm GPS bằng cách sử dụng bất kỳ API nào như API Google Map không? – Supertron

+0

@Supertorn, Không, tôi không nghĩ vậy, Bắt đầu câu trả lời của tôi với một Giả định. – Lucifer

Các vấn đề liên quan