2013-04-25 6 views
5

मैं एंड्रॉइड में एक समाधान की तलाश कर रहा हूं यह जांचने के लिए कि क्या एक जीपीएस बिंदु प्रारंभ और अंत जीपीएस स्थान के दिए गए सेट में होगा या नहीं। उदाहरण के लिए श्री ए बिंदु बिंदु से शुरू होगा और वाई के माध्यम से बिंदु जेड तक पहुंच जाएगा। अब यदि श्री बी ने एक स्थान पी दिया है तो हम यह जांचना चाहते हैं कि क्या यह बिंदु पी श्री ए के मार्ग पर झूठ बोल रहा है या नहीं।कैसे पता लगाएं कि एक जीपीएस बिंदु प्रारंभ और अंत जीपीएस स्थान के दिए गए सेट में झूठ बोलता है या नहीं?

यदि ऐसा लगता है कि जीपीएस इसके लिए पर्याप्त नहीं है तो आप किसी भी अन्य तरीकों का सुझाव दे सकते हैं।

मैं आपसे वापस सुनने की उम्मीद कर रहा हूं !!

उत्तर

0

मुझे लगता है कि "आरंभ करने और समाप्त होने का सेट दिया गया" का अर्थ है कि आपके पास अपने डेटाबेस में एक परिभाषित रूट है। मेरा जवाब एक ही उद्देश्य पर आधारित है।

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(); 
} 

अब आप एक के बाद डीबी के एक साथ अपने श्री ए के अक्षांश-देशांतर मूल्यों की तुलना करने की जरूरत है निम्न विधि करने के लिए पर एक नज़र डालें,। यदि आप दूरी कुछ मीटर है जिसका मतलब है कि श्री ए ने उस बिंदु का दौरा किया है। इस तर्क का उपयोग करके आपको अपने डीबी में संग्रहीत रूट के साथ श्री ए के सभी जीपीएस प्वाइंट की जांच करनी होगी।

+0

धन्यवाद आपके उत्तर के लिए लूसिफर। क्या Google मानचित्र API जैसी किसी भी एपीआई का उपयोग कर दो जीपीएस बिंदुओं के बीच सभी उपलब्ध स्थान लाने के लिए संभव होगा? – Supertron

+0

@Supertorn, नहीं, मुझे ऐसा नहीं लगता है, यह मेरा अनुमान एक अनुमान के साथ शुरू करें। – Lucifer

संबंधित मुद्दे