Trình kết xuất bản đồ mới

Trình kết xuất bản đồ nâng cấp có trong phiên bản 18.2.0 của Maps SDK cho Android. Trình kết xuất này có nhiều điểm cải tiến, bao gồm cả việc hỗ trợ tính năng tạo kiểu cho bản đồ dựa trên đám mây.

Trình kết xuất mới mang lại những lợi ích sau:

  • Các tính năng định kiểu bản đồ dựa trên đám mây có trong trình kết xuất mới.
  • Tuỳ chỉnh nâng cao cho nhiều đường có trong trình kết xuất mới.
  • Giảm tải mạng, nhu cầu xử lý và mức tiêu thụ bộ nhớ.
  • Cải thiện khả năng xử lý cử chỉ để tạo ảnh động đẹp hơn, đồng thời thao tác lia và thu phóng mượt mà hơn.
  • Chuyển đổi mượt mà hơn và nhãn bản đồ được đặt ở vị trí rõ ràng.
  • Trải nghiệm người dùng ổn định và hoàn thiện hơn.

Trạng thái cập nhật tự động

Vào tháng 3 năm 2024, Google bắt đầu tự động cập nhật tất cả các ứng dụng đã triển khai để sử dụng trình kết xuất được nâng cấp. Các bản cập nhật tự động đã được áp dụng cho tất cả ứng dụng chạy trên những thiết bị đáp ứng yêu cầu tối thiểu về thiết bị, bất kể ứng dụng đó dùng phiên bản nào của Maps SDK cho Android. Quá trình triển khai này hiện đã hoàn tất.

Các bản cập nhật tự động không áp dụng cho:

Thiết bị được hỗ trợ

Để sử dụng trình kết xuất bản đồ nâng cấp, thiết bị phải đáp ứng các tiêu chí sau:

  • Android 5.0 (API cấp 21) trở lên
  • Sử dụng Dịch vụ Google Play phiên bản 21.39.14 trở lên

Các thiết bị sử dụng Android 4.4W (API cấp 20) trở xuống hoặc sử dụng Dịch vụ Google Play phiên bản 21.39.13 trở xuống sẽ tiếp tục sử dụng trình kết xuất cũ.

Chọn không sử dụng trình kết xuất đã nâng cấp

Nếu cần, bạn có thể chọn không sử dụng trình kết xuất đã nâng cấp để sử dụng trình kết xuất cũ trong ứng dụng của mình.

Cách làm như sau:

Mã của bạn phải gọi MapsInitializer.initialize() trước khi MapView, MapFragment hoặc SupportMapFragment được tạo. Bạn nên gọi phương thức này trong onCreate cho Ứng dụng hoặc Hoạt động của ứng dụng, trước khi chế độ xem nội dung được đặt.

Ví dụ sau đây cho biết cách gọi MapsInitializer.initialize() để chọn không sử dụng trình kết xuất bản đồ cũ.

Kotlin

import com.google.android.gms.maps.MapsInitializer
import com.google.android.gms.maps.MapsInitializer.Renderer
import com.google.android.gms.maps.OnMapsSdkInitializedCallback

internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback {
  override fun onCreate() {
    super.onCreate()
    MapsInitializer.initialize(applicationContext, Renderer.LEGACY, this)
  }

  override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) {
    when (renderer) {
      Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.")
      Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.")
    }
  }
}

Java

import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.MapsInitializer.Renderer;
import com.google.android.gms.maps.OnMapsSdkInitializedCallback;

class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback {

  @Override
  public void onCreate() {
    super.onCreate();
    MapsInitializer.initialize(getApplicationContext(), Renderer.LEGACY, this);
  }

  @Override
  public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) {
    switch (renderer) {
      case LATEST:
        Log.d("MapsDemo", "The latest version of the renderer is used.");
        break;
      case LEGACY:
        Log.d("MapsDemo", "The legacy version of the renderer is used.");
        break;
    }
  }
}