"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استرداد خطوط الطول والعرض في Android باستخدام خدمات الموقع؟

كيفية استرداد خطوط الطول والعرض في Android باستخدام خدمات الموقع؟

تم النشر بتاريخ 2024-12-22
تصفح:790

How to Retrieve Latitude and Longitude in Android Using Location Services?

استرجاع إحداثيات خطوط الطول والعرض في Android باستخدام خدمات الموقع

في تطوير Android، غالبًا ما يكون تحديد الموقع الحالي للمستخدم ضروريًا لمختلف التطبيقات. يوفر هذا الدليل إرشادات مفصلة حول كيفية الحصول على إحداثيات خطوط الطول والعرض باستخدام فئة LocationManager.

استخدام LocationManager

للحصول على الموقع الحالي، اتبع الخطوات التالية:

  1. تهيئة مدير الموقع:

    LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
  2. استرداد آخر موقع معروف:

    Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
  3. استخراج خط الطول و خط العرض:

    double longitude = location.getLongitude();
    double latitude = location.getLatitude();

تحديثات الموقع غير المتزامنة

تقوم طريقة getLastKnownLocation() بإرجاع لقطة لآخر موقع معروف، لكنها لا توفر تحديثات في الوقت الفعلي. للحصول على تحديثات منتظمة، يمكنك استخدام طريقة requestLocationUpdates():

Private Final LocationListener locationListener = new LocationListener() { الفراغ العام onLocationChanged(موقع الموقع) { خط الطول = location.getLongitude(); latitude = location.getLatitude(); } } lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        longitude = location.getLongitude();
        latitude = location.getLatitude();
    }
}

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
أذونات

للوصول إلى موقع GPS الخاص بالجهاز، يتطلب التطبيق إذن ACCESS_FINE_LOCATION في البيان :

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        longitude = location.getLongitude();
        latitude = location.getLatitude();
    }
}

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
اختيار الموفر

لمزيد من الدقة، استخدم طريقة getBestProvider() لتحديد أفضل موفر موقع متاح :

String Provider = lm.getBestProvider(new Criteria(), true); موقع الموقع = lm.getLastKnownLocation(provider);

String provider = lm.getBestProvider(new Criteria(), true);
Location location = lm.getLastKnownLocation(provider);
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3