دوربین به شما امکان میدهد نقطه دید کاربر از نقشه را تغییر دهید. میتوانید از حالتهای دوربین برای کنترل رفتار نمای نقشه درطول پیمایش استفاده کنید. برای تنظیم حالت دوربین، یکی از روشهای زیر را که با دوربین مرتبط است فراخوانی کنید:
مکان من را دنبال کن (
GoogleMap.followMyLocation)—حالت پیشفرض دوربین برای پیمایش. این حالت دوربین را روی دستگاه یا خودرو تنظیم میکند. درطول ناوبری، دوربین بهطور خودکار بهسمت جهت سفر قرار میگیرد.سنجاقشده به مکان (
GoogleMap.animateCameraوGoogleMap.moveCamera)—دوربین را در مکان خاصی ثابت میکند. هنگام استفاده از این حالت، میتوانید مکان دوربین را همراه با سایر ویژگیهای دوربین مانند جهت، شیب، و بزرگنمایی تنظیم کنید. وقتی این نما انتخاب شود و «راهبر» مقداردهی اولیه شده باشد، دکمه مرکز کردن مجدد نمایان میشود.نمایش نمای کلی مسیر (
NavigationView.showRouteOverviewیاNavigationFragment.showRouteOverview)—نمای کلی مسیر باقیمانده را نمایش میدهد (تا ۴۵ دقیقه بعدی زمان رانندگی)، و درصورت نیاز برای جا دادن مسیر در نمای نقشه، حرکت و بزرگنمایی میکند. وقتی این نما انتخاب شود، دکمه مرکز کردن مجدد نمایان میشود.
با کلیک کردن روی دکمه مرکز کردن مجدد، دوربین روی حالت followMyLocation تنظیم میشود.
حالت «مکان من را دنبال کن»
رایجترین تنظیم دوربین این است که دوربین روی دستگاه یا خودرو تنظیم شود و موقعیت فعلی آن را درطول سفر نشان دهد. در
این حالت دوربین، میتوانید مسیر را با خودرویی که همیشه بهسمت بالای
صفحه حرکت میکند با چشمانداز زاویهدار (CameraPerspective.TILTED) مشاهده کنید، یا
میتوانید خودرو را درحال حرکت با شمال (CameraPerspective.TOP_DOWN_NORTH_UP)
یا با جهت حرکت (CameraPerspective.TOP_DOWN_HEADING_UP) همیشه در بالای
صفحه ببینید.
قطعه کد زیر از چشمانداز TILTED استفاده میکند:
// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))
سنجاقشده به حالت مکان
حالت Pinned بیشترین کنترل را بر دوربین دراختیارتان قرار میدهد. در این حالت، دوربین را در مکان خاصی قرار میدهید،
جهتی را برای جهتدهی به نمای دوربین اختصاص میدهید، شیب را برای تنظیم زاویه دید تغییر میدهید، و
سطح بزرگنمایی دوربین را تنظیم میکنید.
تکهکد زیر برخیاز روشهای رایج برای حرکت دادن دوربین را نشان میدهد.
private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);
private GoogleMap map;
... // Obtain the map from a NavigationFragment or NavigationView.
// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());
// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(MOUNTAIN_VIEW) // Sets the center of the map to Mountain View
.zoom(17) // Sets the zoom
.bearing(90) // Sets the orientation of the camera to east
.tilt(30) // Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
نمایش حالت نمای کلی مسیر
تنظیمات دوربین showRouteOverview کل سفر را نمایش میدهد.
برای سفرهای چندمقصدی، این حالت بخش طینشده مسیر را نمایش میدهد.
// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();
مرحله بعدی
برای اطلاعات بیشتر درباره پیکربندی مؤلفههای واسط کاربر داخلی، سفارشیسازی واسط کاربر ناوبری را ببینید.