Trình kết xuất bản đồ được nâng cấp có sẵn kể từ phiên bản 18.2.0 của SDK Bản đồ dành cho Android. Trình kết xuất đồ hoạ này mang đến nhiều cải tiến, bao gồm cả tính năng hỗ trợ Định kiểu bản đồ dựa trên đám mây.
Trình kết xuất mới mang lại các lợi ích sau:
- Định kiểu bản đồ trên đám mây khả dụng với trình kết xuất đồ hoạ mới.
- Tuỳ chỉnh hình nhiều đường nâng cao đều có sẵn với trình kết xuất đồ hoạ 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ỉ để cải thiện hiệu ứng động, cộng với thao tác kéo và thu phóng.
- Chuyển đổi linh hoạt hơn và nhãn bản đồ được định vị rõ ràng.
- Mang đến trải nghiệm người dùng ổn định và tốt hơn.
Lịch phát hành
Tháng 3 năm 2024, Google bắt đầu tự động cập nhật tất cả ứng dụng đã triển khai trên một thiết bị để sử dụng trình kết xuất đồ hoạ được nâng cấp. Sẽ tự động cập nhật tăng dần trong những tháng tới dựa trên thiết bị, tức là người dùng cuối thiết bị sẽ được cập nhật vào các thời điểm khác nhau trong thời gian cập nhật.
Các bản cập nhật tự động á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 các yêu cầu về thiết bị, bất kể phiên bản của SDK Bản đồ dành cho Android mà ứng dụng sử dụng.
Các bản cập nhật tự động này không áp dụng cho:
Các ứng dụng đã cập nhật để sử dụng trình kết xuất đồ hoạ nâng cấp.
Những ứng dụng đã chọn không nâng cấp một cách rõ ràng.
Ứng dụng chạy trên thiết bị không đáp ứng thiết bị tối thiểu .
Điều gì xảy ra khi trình kết xuất đồ hoạ mặc định thay đổi?
Trình kết xuất mặc định trở thành trình kết xuất được nâng cấp khi phiên bản mới ra mắt 18.2.0 của SDK Maps dành cho Android. Để tận dụng trình kết xuất đồ hoạ được nâng cấp, bạn có thể tạo ứng dụng mới hoặc tạo lại mọi ứng dụng hiện có bằng SDK mới . Hoặc bạn có thể đợi cho đến khi ứng dụng mà bạn đã triển khai được tự động cập nhật bằng Google.
Sau khi cập nhật, ứng dụng của bạn có thể tận dụng tất cả các tính năng mới và có sẵn trong trình kết xuất được nâng cấp.
Tuy nhiên, nếu bạn quyết định chọn không áp dụng thay đổi này, ứng dụng của bạn sẽ tiếp tục sử dụng trình kết xuất cũ. Xem phần Chọn không sử dụng trình kết xuất đồ hoạ được nâng cấp cho mã ví dụ về cách chọn không tham gia.
Thiết bị được hỗ trợ
Tính năng tự động cập nhật áp dụng cho tất cả thiết bị đáp ứng những tiêu chí này, bất kể phiên bản SDK bản đồ dành cho Android mà ứng dụng sử dụng:
- 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
Thiết bị chạy Android 4.4W (API cấp 20) trở xuống hoặc sử dụng Google Play các dịch vụ phiên bản 21.39.13 trở xuống tiếp tục sử dụng trình kết xuất đồ hoạ 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 đồ hoạ đã nâng cấp một cách rõ ràng để sử dụng trình kết xuất đồ hoạ cũ trong ứng dụng của bạn.
Cách làm như sau:
Nâng cấp SDK bản đồ dành cho Android lên phiên bản 18.0 trở lên.
Cập nhật mã của bạn để nhập rõ ràng MapsInitializer và MapsInitializer.Renderer.
Hãy cập nhật mã để gọi
MapsInitializer.initialize()
! truyềnRenderer.LEGACY
để chọn không tham gia và sử dụng trình kết xuất cũ.Sử dụng OnMapsSdkInitializedCallback để xác định phiên bản trình kết xuất được trả về.
Mã của bạn phải gọi
MapsInitializer.initialize()
trước bất kỳ MapView nào,
MapFragment,
hoặc SupportMapFragment
đã được tạo. Bạn nên gọi hàm này trong onCreate
cho
Ứng dụng,
hoặc Hoạt động,
trước khi đặt khung hiển thị nội dung.
Ví dụ sau đây trình bày cách gọi MapsInitializer.initialize()
đến
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; } } }