/ / जीपीएस डेवलपर फोन पर निर्देशांक - Android, जीपीएस, निर्देशांक

टेस्ट डेवलपर फोन पर जीपीएस समन्वय - एंड्रॉइड, जीपीएस, निर्देशांक

मेरा कोड एक स्थिति के निर्देशांक ले रहा हैएक दिया गया समय, और फिर लैट / लॉन्ग निर्देशांक प्रदर्शित करना। मुझे लगता है कि मेरा कोड सही है, लेकिन जहां समस्या निहित है वह फोन को जीपीएस की अनुमति दे रहा है। मैं एक सैमसंग नेक्सस एस का उपयोग कर रहा हूं, और मेरे पास सभी उचित ड्राइवर स्थापित हैं, लेकिन फोन पर कोई नेटवर्क नहीं है। मुझे बताया गया था कि जीपीएस को अभी भी काम करना चाहिए और निर्देशांक प्राप्त करने में सक्षम होना चाहिए। मेरे पास "GPS उपग्रहों का उपयोग करें" सेटिंग सक्षम है, और यहां प्रकट में अनुमति दी गई है, जैसा कि यहाँ मेनिफ़ेस्ट में देखा गया है। xml

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>

मैं सभी संभावित स्थान अनुमतियों में फेंक दिया सिर्फ मामले में मैं कुछ याद कर रहा था, उम्मीद है कि कोई समस्या नहीं है।

मेरे कोड के लिए जैसा कि मेरे पास ऑनक्रिट विधि (वर्ग में है? मैं "इसके उचित नाम के बारे में निश्चित नहीं हूं)

    double[] gps = getGPS();
TextView tv = (TextView) this.findViewById(R.id.gpsCoordinates);
tv.setText("Latitude: " + gps[0] + "nLongitude: " + gps[1]);

और फिर वास्तव में निर्देशांक प्राप्त करने के लिए जीपीएस कक्षा में एक निजी विधि

    private double[] getGPS() {
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
List<String> providers = lm.getProviders(true);

/* Loop over the array backwards, and if you get an accurate location, then break out the loop*/
Location l = null;

for (int i=providers.size()-1; i>=0; i--) {
l = lm.getLastKnownLocation(providers.get(i));
if (l != null) break;
}

double[] gps = new double[2];
if (l != null) {
gps[0] = l.getLatitude();
gps[1] = l.getLongitude();
}
return gps;

मेरा मानना ​​है कि मैंने स्टैकओवरफ्लो और कुछ अन्य मंचों से इस कोड को खींच लिया और फिर इसे थोड़ा ट्विक किया।

उत्तर:

उत्तर № 1 के लिए 1
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.LOCATION"></uses-permission>

उपरोक्त अनुमतियाँ जोड़ें। ऐसा होने से आपको मदद मिलेगी।


जवाब के लिए 0 № 2

आपको निम्नलिखित अनुमति देने की आवश्यकता है

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

रेफरी: http://developer.android.com/reference/android/Manifest.permission.html#ACCESS_FINE_LOCATION