سؤال

أحاول تصميم تطبيق Android الأول باستخدام GPS. اعتبارًا من الآن ، لدي زر قابل للرسوم عند النقر عليه ، ينبه رسالة نخب عن خط الطول وخط العرض. لقد حاولت استخدام Telnet LocalHost 5554 وثم Geo Fix #Number #Number للتغذية في القيم ولكن لا توجد نتائج تظهر فقط 0 0. لقد جربت أيضًا طريقة DDMS لإرسال إحداثيات GPS وأحصل على نفس الشيء.

سؤالي هو بالضبط ما هي الطريقة الصحيحة لاستخدام إصلاح GEO وطريقة DDMS لإرسال الإحداثيات. لقد استخدمت Location, LocationManger و LocationListener لكنني لست متأكدًا من الخيار الصحيح.

يتم تقديم الرمز ، فقط في حالة وجود الخطأ مع الرمز

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button button = (Button) findViewById(R.id.track);
    button.setOnClickListener(this);
    LocationManager location =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
    Location loc = location.getLastKnownLocation(location.GPS_PROVIDER);
    updateWithNewLocation(loc);

  }

 private final LocationListener locationListener = new LocationListener() {
   public void onLocationChanged(Location location) {
     updateWithNewLocation(location);
   }

  private void updateWithNewLocation(Location l) {
  longitude = l.getLongitude();
  latitude = l.getLatitude();
  provider = l.getProvider();     
  }

    public void onClick(View v) { 
     Toast.makeText(this, "Your location is " + 
      longitude + " and " + latitude + " provided by: " + 
      provider, Toast.LENGTH_SHORT).show();          
   }     
}
هل كانت مفيدة؟

المحلول

شيئان

1) جعل خط العرض وخط الطول متقلبة

2) حاول التسجيل كمستمع لمدير موقع GPS

location.requestlocationupdates (locationmanager.gps ، 100 ، 1 ، locationListener) ؛

يجب أن تحصل على عمليات الاسترجاعات التي يتم إرسالها إلى كائن LocationListener الخاص بك.

يمكنك التحقق من بعض رمز GPS Android هنا:http://www.devx.com/wireless/article/43005

(تحذير! أضافت Devx هبوطًا للتسجيل منذ أن أضفت هذا الرابط!)

نصائح أخرى

التعليق موقع الخط loc = location.getLastainkLocation (location.gps_provider) ؛

واختبار التطبيق عن طريق تحديث GPS يدويًا في DDMS

إذا نجحت ، عد إلى الكود ، ثم ضع موقع loc = location.getLasternlocation ("GPS") ؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top