دوربین به شما امکان میدهد تا زاویه دید کاربر از نقشه را تغییر دهید. میتوانید از حالتهای دوربین برای کنترل رفتار نمای نقشه در حین پیمایش استفاده کنید. برای تنظیم حالت دوربین، یکی از متدهای زیر مرتبط با دوربین را فراخوانی کنید:
دنبال کردن موقعیت مکانی من (
GoogleMap.followMyLocation) — حالت پیشفرض دوربین برای ناوبری. این حالت دوربین را روی دستگاه یا وسیله نقلیه تنظیم میکند. در حین ناوبری، دوربین به طور خودکار رو به جهت حرکت قرار میگیرد.پینشده به مکان (
GoogleMap.animateCameraوGoogleMap.moveCamera) — دوربین را در یک مکان خاص ثابت میکند. هنگام استفاده از این حالت، میتوانید مکان دوربین را به همراه سایر ویژگیهای دوربین مانند جهت، شیب، زوم و غیره تنظیم کنید. وقتی این نما انتخاب شده و ناوبر مقداردهی اولیه شده باشد، دکمهی Re-center قابل مشاهده است.نمایش نمای کلی مسیر (
NavigationView.showRouteOverviewیاSupportNavigationFragment.showRouteOverview) — نمای کلی از مسیر باقیمانده (تا ۴۵ دقیقهی بعدی زمان رانندگی) را نمایش میدهد و در صورت نیاز، برای جا دادن مسیر در نمای نقشه، آن را جابهجا (pan) و بزرگنمایی میکند. وقتی این نما انتخاب میشود، دکمهی Re-center قابل مشاهده است.
با کلیک بر روی دکمهی Re-center ، دوربین در حالت 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 SupportNavigationFragment 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();
مرحله بعدی
برای آشنایی با نحوهی سفارشیسازی نحوهی تعامل کاربران با نقشهی شما، با تعیین اینکه کدام یک از اجزای رابط کاربری داخلی روی نقشه نمایش داده شوند، به بخش «سفارشیسازی رابط کاربری ناوبری» مراجعه کنید.