به صورت پیش فرض ، اتفاق افتاد onMapReady دربرگیرنده کدی میباشد طراحی اپلیکیشن در مشهد که در شهر سیدنی استرالیا ، جایی که Google Maps ساخته شده است ، یک نشانگر قرار میدهد. اتفاق افتاد پیش فرض همینطور نقشه را جابجا می نماید تا به شهر سیدنی منتقل گردد.
دراین کار ، شما میخواهید دوربین نقشه را به منزل خویش منتقل نمائید رایاپارس ، تا اندازه ای که معین نموده اید غلو نمائید و یک نشانگر در آن قرار دهید.
مرحله نخستین: بزرگ نمایی کردن منزل و اضافه کردن نشانگر در جای آن
در فولدر MapsActivity.kt ، اسلوب onMapReady را پیدا نمایید. کدی را که نشانگر را در سیدنی قرار میدهد و دوربین را جنبش میدهد حذف نمایید. فعلا سیاق شما می بایست به صورت تحت باشد.
override fun onMapReady(googleMap: GoogleMap) {
map = googleMap
}
2. ارتفاع جغرافیایی و پهنا جغرافیایی منزل خویش را پیدا فرمایید.
3. یک متغیر برای ارتفاع جغرافیایی و یک متغیر برای پهنا جغرافیایی ساخت فرمایید و مقادیر آنهارا موازی ارتفاع و پهنا جغرافیایی منزل خویش قرار دهید.
val latitude = 37.422160
val longitude = -122.084270
4. یک شی LatLng نو به اسم homeLatLng ساخت فرمایید. در شی homeLatLng مقادیری را که نو ساختوساز نموده اید وارد فرمایید.
val homeLatLng = LatLng(latitude, longitude)
5. برای اینکه چقدر میخواهید روی نقشه بزرگ نمایی نمائید یک val ساخت و ساز فرمائید. از سطح غلو 15f به کار گیری فرمایید.
val zoomLevel = 15f
سطح بزرگ نمایی معیار غلو شما بر روی نقشه را در اختیار گرفتن می نماید. لیست تحت به شما ایده میدهد که هر سطح از بزرگ نمایی چه سطح از جزئیات را آرم میدهد:
سطح ۱ : دنیا
سطح ۵ : بی آبی ها و مجموعه کشور ها ها
سطح ۱۰ : شهر ها
سطح ۱۵ : خیابان ها
سطح ۲۰ : ساختمان ها
6. با فراخوانی سیاق moveCamera بر روی شی map از روش ارسال شی CameraUpdate با امداد CameraUpdateFactory.newLatLngZoom ، دوربین را به homeLatLng منتقل فرمائید. شی homeLatLng و واحد سنجش بزرگ نمایی (zoomLevel) را به newLatLngZoom ارسال فرمائید:
map.moveCamera(CameraUpdateFactory.newLatLngZoom(homeLatLng, zoomLevel))
7. در homeLatLng یک نشانگر به نقشه اضافه نمائید:
map.addMarker(MarkerOptions().position(homeLatLng))
سیاق پایانی شما می بایست این چنین باشد:
override fun onMapReady(googleMap: GoogleMap) {
map = googleMap
//These coordinates represent the latitude and longitude of the Googleplex.
val latitude = 37.422160
val longitude = -122.084270
val zoomLevel = 15f
val homeLatLng = LatLng(latitude, longitude)
map.moveCamera(CameraUpdateFactory.newLatLngZoom(homeLatLng, zoomLevel))
map.addMarker(MarkerOptions().position(homeLatLng))
}
8. نرم افزار خویش را ایفا نمایید. نقشه بایستی به سمت منزل شما تکان نماید ، تا حد دلخواه گران قدر خواهد شد و یک نشانگر روی منزل شما قرار دهد.