تتيح لك الكاميرا تغيير طريقة عرض المستخدم للخريطة. يمكنك استخدام أوضاع الكاميرا للتحكّم في سلوك عرض الخريطة أثناء التنقّل. لضبط وضع الكاميرا، استخدِم إحدى الطرق التالية المرتبطة بالكاميرا:
اتّباع موقعي الجغرافي (
GoogleMap.followMyLocation
): وضع الكامير التلقائي للتنقّل يضبط هذا الوضع الكاميرا على الجهاز أو المركبة. أثناء التنقّل، تواجه الكاميرا تلقائيًا اتجاه التنقّل. عند تفعيل الإعداد "تفاصيل عالية" (NavigationMapStyle.HIGH_DETAIL
)، يتم عرض الخطوط العريضة للمباني ثنائية الأبعاد عندما يكون مستوى التكبير 19 أو أعلى.تم تثبيتها على الموقع الجغرافي (
GoogleMap.animateCamera
وGoogleMap.moveCamera
) : لإصلاح الكاميرا في موقع جغرافي معيّن عند استخدام هذا الوضع، يمكنك ضبط موقع الكاميرا بالإضافة إلى خصائص الكاميرا الأخرى، مثل الاتجاه والميل والتكبير/التصغير وما إلى ذلك. عند اختيار طريقة العرض هذه وبدء "المستكشف"، سيظهر الزر إعادة التوسّط.عرض نظرة عامة على المسار (
NavigationView.showRouteOverview
أوSupportNavigationFragment.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 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();
إعداد "تفاصيل عالية"
عند تفعيل إعداد "تفاصيل عالية"، يتم عرض الخطوط العريضة للبناء ثنائي الأبعاد
عند ضبط مستوى التكبير في الكاميرا على 19 أو أعلى. يمكنك إلغاء
مستوى التكبير أثناء التنقّل باستخدام عنصر FollowMyLocationOptions
. يتيح لك ذلك
زيادة مستوى التكبير بما يكفي لعرض الخطوط العريضة للبناء ثنائي الأبعاد مع
اقتراب المستخدم من وجهته.
يوضّح هذا المثال تفعيل الإعداد "تفاصيل عالية":
navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);
يتجاهل المثال التالي مستوى التكبير أو التصغير للكاميرا أثناء التنقّل. تم ضبط مستوى التكبير على 15، وهو مستوى مرتفع بما يكفي لعرض المخططات المفصّلة للبناء في رسومات ثنائية الأبعاد.
googleMap.followMyLocation(
FollowMyLocationOptions.builder(CameraPerspective.TILTED)
.setZoomLevel(15.0f)
.build());
الخطوة التالية
اطّلِع على مقالة تخصيص واجهة مستخدم التنقّل لمعرفة كيفية تخصيص طريقة تفاعل المستخدمين مع خريطتك من خلال تحديد مكونات واجهة المستخدم المدمجة التي تظهر على الخريطة.