המצלמה מאפשרת לשנות את נקודת המבט של המשתמש על המפה. אתם יכולים להשתמש במצבי המצלמה כדי לשלוט בהתנהגות של תצוגת המפה במהלך הניווט. כדי להגדיר את מצב המצלמה, מפעילים את אחת מהשיטות הבאות שמשויכות למצלמה:
מעקב אחרי המיקום שלי (
GoogleMap.followMyLocation) – מצב המצלמה שמוגדר כברירת מחדל לניווט. במצב הזה, המצלמה מוגדרת למכשיר או לרכב. במהלך הניווט, המצלמה פונה באופן אוטומטי לכיוון הנסיעה.הצמדה למיקום (
GoogleMap.animateCameraו-GoogleMap.moveCamera) – המצלמה מקובעת למיקום ספציפי. במצב הזה, אתם יכולים להגדיר את מיקום המצלמה יחד עם מאפיינים אחרים של המצלמה, כמו כיוון, הטיה ומרחק תצוגה. כשהתצוגה הזו נבחרת וה-Navigator מאותחל, הכפתור Re-center מוצג.הצגת סקירת מסלול (
NavigationView.showRouteOverviewאוNavigationFragment.showRouteOverview) – הצגת סקירה כללית של המסלול שנותר (עד 45 דקות הנסיעה הבאות), עם הזזה ושינוי מרחק התצוגה לפי הצורך כדי להתאים את המסלול לתצוגת המפה. כשהתצוגה הזו נבחרת, הכפתור מרכוז מחדש מוצג.
לחיצה על הכפתור מרכוז מחדש מגדירה את המצלמה למצב 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();
השלב הבא
מידע נוסף על הגדרת רכיבי ממשק משתמש מובנים זמין במאמר התאמה אישית של ממשק המשתמש של הניווט.