بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

استفاده از gps و wifi گوشی برای به دست آوردن موقعیت جغرافیایی

مدیریت گفتگو
naruto 12 سال پیش
آخرین تغییر: 12 سال پیش

چطوری میشه با استفاده از gps یا wifi گوشی موقعیت جغرافیایی رو پیدا کرد و از اون برای به دست آوردن اطلاعاتی مثل سرعت یا تغییر مکان استفاده کرد.

با استفاده از یه Thread میشه مثلا بگیم هر ده ثانیه بسته به تغییر فاصله سرعت کاربر رو محاسبه کنه ولی مشکل اینجاست من نمیتونم تغییر لوکیشن رو بخونم. تو Stackoverflow هم کلی چرخ زدم ولی چیز به درد بخوری پیدا نکردم. اگر کسی راهی پیدا کرد و می دونست درسته لطفا در میون بذاره. تا الان حدود 6 ساعت کل نت رو چرخیدم ولی به جز چنتا سر نخ که هیچکدوم توضیح درستی ندارن نتونستم کاری انجام بدم.

نظرات

MiRHaDi 12 سال پیش
تو آموزشها در بخش استفاده از نقشه گوگل فکر کنم جواب سوالت باشه

پاسخ‌ها 1

Borhani 12 سال پیش

سلام این کمکت میکنه

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    latituteField = (TextView) findViewById(R.id.TextView02);
    longitudeField = (TextView) findViewById(R.id.TextView04);

    // Get the location manager
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    // Define the criteria how to select the locatioin provider -> use
    // default
    Criteria criteria = new Criteria();
    provider = locationManager.getBestProvider(criteria, false);
    Location location = locationManager.getLastKnownLocation(provider);

    // Initialize the location fields
    if (location != null) {
      System.out.println("Provider " + provider + " has been selected.");
      onLocationChanged(location);
    } else {
      latituteField.setText("Location not available");
      longitudeField.setText("Location not available");
    }
  }

  /* Request updates at startup */
  @Override
  protected void onResume() {
    super.onResume();
    locationManager.requestLocationUpdates(provider, 400, 1, this);
  }

  /* Remove the locationlistener updates when Activity is paused */
  @Override
  protected void onPause() {
    super.onPause();
    locationManager.removeUpdates(this);
  }

  @Override
  public void onLocationChanged(Location location) {
    int lat = (int) (location.getLatitude());
    int lng = (int) (location.getLongitude());
    latituteField.setText(String.valueOf(lat));
    longitudeField.setText(String.valueOf(lng));
  }

  @Override
  public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub

  }

  @Override
  public void onProviderEnabled(String provider) {
    Toast.makeText(this, "Enabled new provider " + provider,
        Toast.LENGTH_SHORT).show();

  }

  @Override
  public void onProviderDisabled(String provider) {
    Toast.makeText(this, "Disabled provider " + provider,
        Toast.LENGTH_SHORT).show();
  }
} 

نظرات

iSheykhi 12 سال پیش
یه توضیحی در مورد کدت می دی؟

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .