Điều chỉnh máy ảnh

Camera cho phép bạn thay đổi điểm nhìn của người dùng trên bản đồ. Bạn có thể sử dụng các chế độ camera để kiểm soát hành vi của chế độ xem bản đồ trong khi đi theo chỉ dẫn. Để đặt chế độ camera, hãy gọi một trong các phương thức sau được liên kết với camera:

  • Theo dõi vị trí của tôi (GoogleMap.followMyLocation) – Chế độ camera mặc định để chỉ đường. Chế độ này đặt camera vào thiết bị hoặc xe. Trong khi bạn đi theo chỉ dẫn, camera sẽ tự động hướng về hướng di chuyển.

  • Ghim vào vị trí (GoogleMap.animateCameraGoogleMap.moveCamera) – Cố định camera ở một vị trí cụ thể. Khi sử dụng chế độ này, bạn có thể đặt vị trí camera cùng với các thuộc tính camera khác như hướng, độ nghiêng, mức thu phóng, v.v. Khi chế độ xem này được chọn và Navigator đã được khởi tạo, nút Định tâm lại sẽ xuất hiện.

  • Cho tôi xem thông tin tổng quan về tuyến đường (NavigationView.showRouteOverview hoặc SupportNavigationFragment.showRouteOverview) – Hiển thị thông tin tổng quan về tuyến đường còn lại (tối đa 45 phút lái xe tiếp theo), xoay và thu phóng khi cần để vừa với tuyến đường trong chế độ xem bản đồ. Khi bạn chọn chế độ xem này, nút Căn lại về chính giữa sẽ xuất hiện.

Khi bạn nhấp vào nút Lấy lại tâm, camera sẽ chuyển sang chế độ followMyLocation.

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

Chế độ cài đặt camera phổ biến nhất là đặt camera ở chế độ thiết bị hoặc xe, cho biết vị trí hiện tại của thiết bị hoặc xe trong hành trình. Ở chế độ camera này, bạn có thể xem tuyến đường với xe luôn hướng lên trên màn hình theo góc nhìn nghiêng (CameraPerspective.TILTED), hoặc bạn có thể thấy xe di chuyển theo hướng bắc (CameraPerspective.TOP_DOWN_NORTH_UP) hoặc theo hướng đi (CameraPerspective.TOP_DOWN_HEADING_UP) luôn ở đầu màn hình.

Đoạn mã sau đây sử dụng góc nhìn TILTED:

// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))

Được ghim vào chế độ vị trí

Chế độ Pinned cho phép bạn kiểm soát camera một cách tối đa. Ở chế độ này, bạn đặt camera ở một vị trí cụ thể, chỉ định hướng để định hướng góc nhìn của camera, thay đổi độ nghiêng để đặt góc nhìn và đặt mức thu phóng của camera.

Đoạn mã sau đây minh hoạ một số cách phổ biến để di chuyển camera.

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));

Hiển thị chế độ tổng quan về tuyến đường

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

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

Bước tiếp theo

Hãy xem phần Tuỳ chỉnh giao diện người dùng Điều hướng để tìm hiểu cách tuỳ chỉnh cách người dùng tương tác với bản đồ bằng cách xác định thành phần nào trong số các thành phần giao diện người dùng tích hợp sẵn sẽ xuất hiện trên bản đồ.