سه شنبه ۱۱ اردیبهشت ۰۳

تغییر ظاهر نشانگرها

مرجع رسمي مقاله هاي طراحي اپليكيشن اندرويد در مشهد

تغییر ظاهر نشانگرها

۲۰ بازديد
با تغییر‌و تحول ظواهر نشانگرهای نقشه ، میتوانید نقشه خویش را حتی بیشتر فردی نمایید. طراحی اپلیکیشن در مشهد در‌این مرحله ، ظواهر نشانگرهای قرمز رنگ پیش فرض را دیدنی خیس میکنیم.
در اسلوب onMapLongClick ، رایاپارس کد پایین را به تولید کننده MarkerOptions اضافه نمایید تا از نشانگر پیش فرض استعمال نماید ، البته رنگ آن را به آبی‌رنگ تغییر‌و تحول دهید.
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
اکنون کد onMapLongClickListener به طور پایین میشود:
map.setOnMapLongClickListener { latLng ->
// A snippet is additional text that's displayed after the title.
val snippet = String.format(
Locale.getDefault(),
"Lat: %1$.5f, Long: %2$.5f",
latLng.latitude,
latLng.longitude
)
map.addMarker(
MarkerOptions()
.position(latLng)
.title(getString(R.string.dropped_pin))
.snippet(snippet)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE))
)
}
2. نرم افزار را جاری ساختن نمایید. نشانگرهایی که پس از کلیک وقتگیر آرم داده می گردند ، در حال حاضر آبی‌رنگ می‌باشند. اعتنا داشته باشید که نشانگرهای POI هنوز قرمز‌رنگ می‌باشند چون شما استایلی به روال onPoiClick اضافه نکرده اید.
اضافه کردن لایه پوششی روی نقشه
یکی رویه های فردی سازی نقشه Google ، رسم روی آن میباشد. این طرز در شرایطی که اثرگذار میباشد که بخواهید نوع خاصی از جای ، مانند مکانهای دارای اسم و رسم ماهیگیری را پررنگ فرمائید.
صورت ها: میتوانید خط شکسته ، چندین ضلعی و دایره به نقشه اضافه فرمائید.
اشیای GroundOverlay: پوشش زمینی (Ground Overlay) تصویری میباشد که روی نقشه اثبات می‌گردد. برخلاف نشانگرها که معطوف به شیت می باشند ، پوشش های زمینی بیشتر معطوف به سطح زمین می‌باشند. چرخش ، کج کردن یا این که بزرگ نمایی نقشه ، جهت این عکس را نیز تغییر تحول میدهد. زمانی میخواهید یک تصویر واحد را در یک بخش از نقشه اثبات نمایید ، پوشش های زمینی موثر میباشند.
روند اضافه کردن پوشش زمینی
در‌این عمل ، شما یک پوشش زمینی به صورت آیکون اندروید به جای منزل خویش اضافه می‌کنید.
این تصویر اندروید را دانلود نمائید و آن را در فولدر res/drawable ذخیره فرمایید. (مطمئن گردید که اسم فولدر android.png باشد.)
2. در onMapReady ، بعداز امر انتقال برای جابجایی دوربین به حالت منزل خویش ، یک شی GroundOverlayOptions ساخت و ساز نمائید.
3. شی را در متغیری به اسم androidOverlay قرار دهید.
val androidOverlay = GroundOverlayOptions()
4. از روال BitmapDescriptorFactory.fromResource برای تولید یک شی BitmapDescriptor از منبع تصویر بارگیری گردیده به کار گیری نمائید.
5. شی BitmapDescriptor نتیجه ها را به اسلوب image از شی GroundOverlayOptions ارسال فرمائید:
val androidOverlay = GroundOverlayOptions()
.image(BitmapDescriptorFactory.fromResource(R.drawable.android))
6. یک متغیر از نوع float به اسم overlaySize ساخت‌و‌ساز فرمائید که اندازه پهنا (با واحد متر) از پوشش متبوع را مشخص و معلوم نماید. برای این نمونه ، پهنا 100f به خیر و خوبی عمل می نماید. سخن f در انتهای 100f برای انتخاب نوع متغیر که از نوع float (اعشاری) میباشد میباشد و نشانه واحد وجود ندارد، واحد در اینجا متر فرض می‌گردد.
با فراخوانی مشی position با آرگمان های homeLatLng و overlaySize خواص حالت را برای شی GroundOverlayOptions تهیه نمایید.
val overlaySize = 100f
val androidOverlay = GroundOverlayOptions()
.image(BitmapDescriptorFactory.fromResource(R.drawable.android))
.position(homeLatLng, overlaySize)
7. سیاق addGroundOverlay از شی GoogleMap را فراخوانی نمائید و آرگمان GroundOverlayOptions را به آن ارسال نمائید.
map.addGroundOverlay(androidOverlay)
8. اپ را ایفا فرمائید.
9. مقدار zoomLevel را به 18f تغییر و تحول دهید تا تصویر آیکون اندروید را تحت عنوان یک پوشش ملاحظه کنید.
10. نقشه را بچرخانید و خرد و تعالی فرمائید و تغییر تحول تصویر به طور هماهنگ با نقشه را ملاحظه کنید.
تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.