Các chế độ camera

Lớp Camera cung cấp các phương thức để đặt nhiều chế độ máy ảnh. Mỗi chế độ cung cấp một cách xem bản đồ khác nhau trong khi đi theo chỉ dẫn. Bạn đặt chế độ máy ảnh bằng cách gọi một trong các phương thức sau:

followMyLocation()
Đây là chế độ máy ảnh mặc định để điều hướng. Chế độ này định cấu hình camera để theo dõi xe. Trong khi chỉ đường, máy ảnh sẽ tự động quay mặt về hướng di chuyển.
setLocation()
Kéo và thu phóng máy ảnh để trỏ vào một vị trí cụ thể. Khi sử dụng chế độ này, bạn có thể đặt vị trí của máy ảnh, hướng máy ảnh đối mặt và mức thu phóng. Khi bạn sử dụng chế độ máy ảnh này, nút Căn giữa lại sẽ xuất hiện.
showRouteOverview()
Hiển thị thông tin tổng quan về tuyến đường còn lại, kéo và thu phóng nếu cần để tuyến đường phù hợp với chế độ xem bản đồ. Khi bạn sử dụng chế độ máy ảnh này, nút Căn giữa lại sẽ xuất hiện.

Nhấp vào nút Căn giữa lại sẽ đặt chế độ máy ảnh thành Theo dõi vị trí của tôi.

Theo dõi chế độ vị trí của tôi

Đây là chế độ camera thường dùng nhất để chỉ đường, trong đó camera sẽ bám theo xe. Ở chế độ máy ảnh này, bạn có thể xem tuyến đường bằng:

  • Xe luôn hướng về phía màn hình, hiển thị trong góc nhìn góc từ trên cao (Camera.Perspective.TILTED).

  • Xe đang di chuyển cùng bản đồ luôn hướng về phía bắc, hiển thị trong phối cảnh nhìn từ trên xuống thẳng (Camera.Perspective.TOP_DOWN_NORTH_UP).

  • Xe luôn hướng lên trên màn hình, hiển thị theo góc nhìn từ trên cao thẳng xuống (Camera.Perspective.TOP_DOWN_HEADING_UP).

Ví dụ về mã sau đây minh hoạ cách đặt chế độ máy ảnh thành Theo dõi vị trí của tôi và sử dụng phối cảnh góc từ trên cao.

NavFragment.getCamera().followMyLocation(Camera.Perspective.TILTED);

Đặt chế độ vị trí

Chế độ setLocation cung cấp cho nhà phát triển quyền kiểm soát máy ảnh nhiều nhất. Ở chế độ này, bạn đặt máy ảnh ở một vị trí cụ thể, gán một góc để định hướng chế độ xem máy ảnh và đặt mức thu phóng của máy ảnh.

Quy trình thiết lập bao gồm việc xác định một vị trí cho máy ảnh dựa trên toạ độ GPS, sau đó đóng gói vị trí, góc máy ảnh và mức thu phóng:

// Set up a stationary camera
// Pick a location to place the camera: Seattle Space Needle
double cameraLatitude = 47.6101d;
double cameraLongitude = -122.3421d;  // Use negative for W of Greenwich.

// Package the coordinates
com.google.android.libraries.navigation.LatLng cameraCenter;
cameraCenter = new com.google.android.libraries.navigation.LatLng (cameraLatitude, cameraLongitude);

// Prepare the state info for the setLocation method.
com.google.android.libraries.navigation.CameraPosition newCameraPosition;
newCameraPosition = new com.google.android.libraries.navigation.CameraPosition();

newCameraPosition.center(cameraCenter);
newCameraPosition.bearing(-90.00f); // N 0.00; E 90.00; S 180.00; W 270.0 (or -90.0).
newCameraPosition.zoom(14.0f);      // Zooms to street level (approx.)

boolean animate = true;
mNavFragment.getCamera().setLocation(newCameraPosition, animate);

Hiện chế độ tổng quan về tuyến đường

Chế độ cài đặt máy ảnh showRouteOverview sẽ cho thấy toàn bộ hành trình. Đối với các hành trình có nhiều điểm đến, chế độ này sẽ hiển thị phần chưa di chuyển của tuyến đường.

// Place the camera to see the remaining route:
mNavFragment.getCamera().showRouteOverview();

Bước tiếp theo

Xem Giao diện người dùng điều hướng tuỳ chỉnh để tìm hiểu cách tuỳ chỉnh cách người dùng tương tác với bản đồ của bạn bằng cách xác định thành phần giao diện người dùng tích hợp sẵn nào xuất hiện trên bản đồ.