जीपीएस हमेशा एक स्थान वापस नहीं करता है, भले ही यह FusedLocationProvider एपीआई या स्थान प्रबंधक LocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
के माध्यम से उपलब्ध हो। विशेष रूप से, यदि आप घर के अंदर हैं तो आपके डिवाइस की जीपीएस चिप के आधार पर जीपीएस से स्थान प्राप्त करने की संभावना कम है। एक स्थान वापस करने के लिए जीपीएस तय किया जाना चाहिए।
आप एक टेस्ट ऐप लिख सकते हैं जिसमें जीपीएस, वाईफ़ाई और जीपीएसस्टैटस लिस्टनर के साथ स्थान मैनेजर है, ताकि उपग्रह गिनती, फिक्स में उपग्रह, और उपग्रह सिग्नल की शक्ति जांच सकें और उसी समय FusedLocationProvider के साथ इसकी तुलना करें और मानचित्र पर प्रदान किए गए स्थान जोड़ें मार्करों। आप FLP के लिए Location.getExtras() भी देख सकते हैं जिसमें उपग्रहों के बारे में जानकारी हो सकती है। यहां तक कि यदि स्थान प्रबंधक जीपीएस उपलब्ध है और उपग्रह गणना 2 है तो मुझे जीपीएस से कोई स्थान नहीं मिल सकता है।
छवि में हैलो वर्ल्ड जीपीएस स्थान होना चाहिए लेकिन यह अभी तक तय नहीं होने के बाद से वापस नहीं किया गया है। परीक्षण आपकी समस्या का समाधान नहीं कर सकता है लेकिन आप उन स्थितियों की तुलना कर सकते हैं जिन्हें आप स्थान प्राप्त करते हैं या उदाहरण के लिए आप जीपीएस या न्यूनतम सिग्नल शक्ति से स्थान प्राप्त करने के लिए 3 उपग्रहों का उपयोग करने की आवश्यकता हो सकती है। जीपीएस को लॉक करने और GpsStatusListener
पर स्थिति लॉक होने पर GpsStatus.GPS_EVENT_FIRST_FIX
पर सेट होने में भी बहुत लंबा समय लग सकता है। मुझे जीपीएस तय करने और स्थान वापस करने में लगभग 5 मिनट लग गए। मैंने मानचित्रों के साथ एक और परीक्षण भी लिखा और मुझे एक ही समस्या थी जब तक कि जीपीएस को स्थान प्रबंधक और एफएलपी दोनों पर तय नहीं किया जाता।
क्या आपके पास अच्छी स्थान अनुमति है? –
हां, ठीक और मोटे दोनों। – Zishan
क्या आपने स्थान अपडेट का अनुरोध किया था या क्या आप समय-समय पर 'getLastLocation()' विधि को मतदान कर रहे हैं? –