مشخصات مقاله
-
1939
-
0.0
-
7217
-
0
-
0
آموزش Google Maps در اندروید
آموزش Google Maps در اندروید
اندورید به ما اجازه می دهد تا Google maps را دربرنامه ی خود جای دهیم. می توانید موقعیت ها و یا مسیرهای مختلف و غیره را روی نقشه نشان دهید. همچنین می توانید طبق انتخاب های خود، نقشه را نیز به دلخواه خود تنظیم کنید.
گوگل این قابلیت را با مجموعه ی خدمات google play ارائه می دهد، که باید آن را به طور خارجی دانلود کنید. پس از دانلود کردن باید آن را با پروژه ی خود کامل کنید. در انتها باید برنامه ی خود را با گوگل از طریق google console کامل کنید. این مسئله به طور کامل در مثال توضیح داده می شود.
Google map - فایل فعالیت
گوگل برنامه ی GoogleMap و MapFragment apiرا برای کامل کردن نقشه روی برنامه ی اندروید شما ارائه می دهد. برای استفاده از Google map باید یک آبجکت از آن را ایجاد کنید و از لی اوت فایل xml مرجع را بگیرید. ترکیب آن به ترتیب زیر می باشد.
GoogleMap googleMap;
googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
Google map – فایل لی اوت
اکنون باید قطعه ی نقشه را به فایل لی اوت xml اضافه کنید. ترکیب آن مانند زیر می باشد.
کار دیگری که باید انجام دهید، افزودن اجازه به همراه کلید Google Map API در فایل AndroidManifest.XML می باشد. ترکیب آن در زیر ارائه شده است.
شخصی کردن Google map
شما به راحتی می توانید Google map را از طریق ویو پیش فرض آن به دلخواه خود در آورید و آن را طوری که مایلید تغییر دهید.
افزودن نشان گذار(marker)
شما می توانید یک نشان گذار با یک متن روی نقشه قرار دهید که نشان دهنده ی موقعیت شما روی نقشه می باشد. این کار از طریق روش addMarker() انجام می شود. ترکیب آن مانند زیر می باشد.
final LatLng TutorialsPoint = new LatLng(21 , 57);
Marker TP = googleMap.addMarker(new MarkerOptions().position(TutorialsPoint).title("TutorialsPoint"));
تغییر نوع نقشه
شما می توانید نوع نقشه را نیز تغییر دهید. چهار نوع نقشه متفاوت وجود دارد که هرکدام یک ویو متفاوت از نقشه ارائه می دهند. این نقشه ها عبارتند از Normal و Hybrid و Satellite و terrain. شما می توانید از آنها مانند زیر استفاده کنید.
googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
فعال و غیرفعال کردن زوم
شما همچنین می توانید حرکات زوم را با فرخوانی روش setZoomControlsEnabled(boolean) فعال یا غیرفعال کنید. ترکیب آن مانند زیر می باشد.
googleMap.getUiSettings().setZoomGesturesEnabled(true);
علاوه بر شخصی سازی، روش های دیگری درگروه Google map وجود دارد که بیشتر در امر شخصی سازی Google map کمک می کنند. لیست آنها را می توانید در زیر ببینید.
مثال:
این مثال استفاده از گروه Google map را توضیح می دهد. این مثال یک برنامه ی پایه ایجاد می کند که مسیریابی روی نقشه را برای شما میسر می کند.
برای آزمایش با این مثال می توانید آن را روی دستگاه واقعی یا یک مقلد اجرا کنید.
کامل سازی Googlemaps
کامل سازی googlemaps روی برنامه های شما اساسا دارای این چهار مرحله می باشد.
- Google Play Services SDK را دانلود و تنظیم کنید.
- کلید API را از صفحه ی گوگل ه دست آورید.
- تنظیمات Android Manifest را مشخص کنید.
دانلود و تنظیم Google Play Services SDK
خدمات SDK مربوط به گوگل را نصب کنید.
با باز کردن پنجره و سپس انتخاب Android SDK manager می توانید SDK manager را باز کنید.
تب extras را پیدا کرده و سپس Google play services را انتخاب کنید و روی install this package را کلیک کنید، همانطور که در تصویر زیر می بینید.
وارد کردن SDK به eclipse
پس از این که SDK را دانلود کردید روی تب file کلیک کنید و گزینه ی import option را انتخاب کنید. کد برنامه ی اندروید موجود را انتخاب کرده و روی OK کلیک کنید. روی فولدر اندروید و سپس فولدر sdk خود کلیک کنید. در فولدر sdk فولدر extras را باز کنید. فولدر گوگل را باز کنید و google play services را انتخاب کنید.
پروژه ی خود را با SDK کامل کنید
پس از اینکه SDK را وارد کردید، آن را به پرژه ی خود اضافه کنید. برای این کار روی eclipse راست کلیک کرده و properties را انتخاب کنید. اندروید را از سمت چپ انتخاب کنید و add را از سمت راست زیر پنل انتخاب کرده و آن را به پروژه اضافه کنید، مانند پنجره ی زیر
به دست آوردن کلید API
این بخش به دو مرحله تقسیم می شود. اول اینکه باید یک کلید SHA1 fingerprint از کامپیوتر خود گرفته و سپس کلید API نقشه را از صفحه ی گوگل بگیرید.
گرفتن گواهینامه از Keytool
شما به یک گواهی نیاز دارید تا برای گرفتن کلید API برای نقشه، آن را به صفحه ی گوگل ارائه دهید. پیام واره ی فرمان را باز کرده و در مسیری که java jre قرار گرفته بروید. اکنون این فرمان را تایپ کنید.
keytool -list -v -alias androiddebugkey -keystore %%Your path%% -storepass android -keypass android
قسمت درصد (percentage) فرمان را با مسیری جایگزین کنید که عبارت است انتخاب تب window و انتخاب تب preferences و سپس انتخاب گزینه ی build زیر android در قسمت چپ.
مسیر debug keystore پیش فرض را کپی کنید و آن را جایگزین فرمان کرده و سپس روی enter ضربه بزنید. نتیجه ی زیر ظاهر خواهد شد.
کلید SHA1 را کپی کنید زیر آن را در مرحله ی بعد نیاز دارید.
گرفتن کلید از صفحه ی گوگل
صفحه ی گوگل را باز کرده و با کلیک کردن روی new project وارد شوید. روی services کلیک کنید و سپس از طریق تب left وارد Google Maps Android API v2 شوید. شما باید آن ها را روشن کنید، مانند تصویر زیر
دوباره به تب left بازگردید و API access را انتخاب کنید و روی create new android key کلیک کنید. حالا کلیدی را که کپی کرده بودید در اینجا پیست کنید، یک semicolon) ; نقطه ویرگول) قرار داده، نام پروژه ی خود را پیست کنید و روی creat کلیک کنید، که مانند تصویر زیر خواهد بود.
اکنون کلید API را که توسط اندروید به شما داده شده بود، کپی کنید زیرا که باید آن را در manifest file پیست کنید.
تعیین تنظیمات Android manifest
آخرین مرحله افزودن کلید API به برنامه می باشد. Manifest file را باز کرده و این کد را ردست قبل ازبستن نشان برنامه در آن جای دهید.
در خط دوم API_KEY را جایگزین کلید api کنید. کار شما تمام شده است. لازم است دستواراتی را نیز به manifest وارد کنید که در manifest file ارائه شده است.
افزودن Google maps به برنامه ها
در زیر محتوای تغییریافته ی فایل فعالیت اصلی را نشاهده می کنید.
src/com.example.googlemaps/MainActivity.java.
package com.example.googlemaps;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
import android.os.Bundle;
import android.app.Activity;
import android.widget.Toast;
public class MainActivity extends Activity {
static final LatLng TutorialsPoint = new LatLng(21 , 57);
private GoogleMap googleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
if (googleMap == null) {
googleMap = ((MapFragment) getFragmentManager().
findFragmentById(R.id.map)).getMap();
}
googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
Marker TP = googleMap.addMarker(new MarkerOptions().
position(TutorialsPoint).title("TutorialsPoint"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
در زیر محتوای تغییر یافته xml مربوط به res/layout/activity_main.xml را مشاهده می کنید.
در زیر محتوای فایل AndroidManifest.xml را مشاهده می کنید.
اجازه بدهید برنامه ی GoogleMaps را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.
اکنون آنچه لازم است انجام دهید، ضربه زدن روی نشان بادکنک است تا متن را مشاهده کنید.
اکنون طبق انتخاب خود با عملکردهای موجود در Googlemaps API، می توانید googlemap را به دلخواه خود در بیاورید.