در گفتگو با جام جم آنلاین مطرح شد
در ابتدا شما به یک کلید اختصاصی که به آن API گفته میشود نیاز دارید. شما با استفاده از این کلید که انحصارا مختص شماست میتوانید نقشه گوگل را در دستگاه خود اجرا کنید. برای گرفتن این کلید به نشانی زیر بروید:
http://code.google.com/android/maps-api-signup.html
بعد از این به شما یک کد نمونه میدهد.
این کد را باید در فایل Layout که برای یک Activity تعریف کردهاید کپی کنید تا نقشه در آن Activity در دسترس باشد.
برای این منظور ابتدا باید یک Activity تعریف کنیم. یک کلاس به نام MyGPSActivity تعریف میکنیم که از کلاس سطح بالایی به نام MapActivity به ارث رسیده است.
بسیار خب، برای این کلاس یک فایل Layout تعریف میکنیم مثلا gps_map.xml سپس کد داده شده را در آن کپی میکنیم. کدهای زیر را در کلاس MapActivity مینویسیم.
gMapView = (MapView) findViewById(R.id.myGMap);
GeoPoint p = new GeoPoint((int) (lat * 1000000), (int) (long * 1000000);
gMapView.setSatellite(true);
//get MapController that helps to set/get location, zoom etc.
mc = gMapView.getController();
mc.setCenter(p);
mc.setZoom(14);
البته قبل از این کدها باید کدهای مربوط به مقداردهی اولیه Activity نوشته شود که ثابت است.
کد بالا ابتدا از طریق findViewById به نقشهای که گوگل کد آن را به ما داده است، دسترسی پیدا میکند، سپس با استفاده از lat و long که یک عدد اعشاری است، یک GeoPoint میسازیم که به نقشه میگوییم این نقطه را روی نقشه مشخص کن و حالت نقشه را روی Satelite تنظیم میکنیم.
سپس با استفاده از getController نقطه خود را روی نقشه مشخص میکنیم و بزرگنمایی آن را برابر ۱۴ میگذاریم. تا اینجا کار ما تمام شدهاست، اما وقتی شما برنامه را اجرا میکنید با خطا روبهرو میشوید. همه چیز درست است، اما چرا خطا میدهد؟ اگر از محیط Eclipse به بخش DDMS سپس پنجره Log Cat مراجعه کنید، میبینید برنامه شما حق استفاده از GPS و دسترسی به موقعیت جاری را ندارد. راهحل چیست؟
برای این منظور سطح دسترسی برنامه به سرویسها و بخش امنیتی سیستم باید در فایل AndroidManifest.xml قید شود . این فایل را باز کرده سپس به بخش Use Permission بروید و 3 حق دسترسی زیر را به آن اضافه کنید:
android.permission.INTERNET
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
در این مرحله دوباره برنامه را اجرا کنید . دقت داشته باشید برای استفاده از نقشه به اینترنت نیاز دارید.
تا حالا ما از طریق یک نقطه ثابت به نقشه دسترسی پیدا کردیم، اما برای این که بتوانیم موقعیت خودمان را روی نقشه به دست بیاوریم، کافی است کلاس MyGPSActivityکه قبلتر تعریف کردیم، رابط LocationListener را پیاده کند . برای این کار به شیوه زیر عمل میکنیم:
class MyGPSActivity extends MapActivity implements LocationListener
سپـــــس در تــــــابع onCreate یــک LocationManager تعریف میکنیم و با مقداردهی آن را به LocationListener معرفی میکنیم.
LocationManager lm =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this);
به این ترتیب شما براحتی میتوانید به موقعیت خود درنقشه دسترسی داشته باشید. در این مقاله توانستیم یک برنامه بنویسیم که موقعیت جاری ما را هر زمان که تغییر کرد روی نقشه مشخص کند. برای دانلود کد این برنامه میتوانید به لینک زیر بروید:
http://androidcompetencycenter.com/wp-content/uploads/GPSApp.zip
منبع :
http://www.androidcompetencycenter.com/?s=GPS
امیربهاالدین سبطالشیخ
در گفتگو با جام جم آنلاین مطرح شد
در واکنش به حمله رژیم صهیونیستی به ایران مطرح شد
در یادداشتی اختصاصی برای جام جم آنلاین مطرح شد
در یادداشتی اختصاصی برای جام جم آنلاین مطرح شد
یک نماینده مجلس:
علی برکه از رهبران حماس در گفتوگو با «جامجم»:
گفتوگوی «جامجم» با میثم عبدی، کارگردان نمایش رومئو و ژولیت و چند کاراکتر دیگر
یک کارشناس مسائل سیاسی در گفتگو با جام جم آنلاین: