Sử dụng SDK Bản đồ dành cho Android phiên bản 3.1.0 BETA

Phiên bản 3.1.0 beta của SDK Maps dành cho Android là một cách triển khai mới với giao diện API tương tự như phiên bản trước (tất cả các lớp và phương thức vẫn giữ nguyên) và một số tính năng mới để bạn dùng thử:

  • Tuỳ chỉnh Maps
  • Xử lý va chạm điểm đánh dấu
  • Tuỳ chỉnh hình nhiều đường

Hướng dẫn này chỉ cho bạn cách sử dụng các tính năng mới.

Tuỳ chỉnh Maps (beta)

định kiểu bản đồ dựa trên đám mây cung cấp nhiều công cụ và tính năng cho phép bạn dễ dàng tuỳ chỉnh và quản lý cách tạo kiểu cho bản đồ. Thay vì tạo kiểu cho bản đồ bằng mã bằng API và SDK của Maps, bạn có thể quản lý và tạo kiểu cho bản đồ trong Google Cloud Console. Để biết thêm thông tin, hãy xem bài viết Tổng quan về tuỳ chỉnh bản đồ Android.

Xử lý va chạm điểm đánh dấu (beta)

Bạn có thể chỉ định xem điểm đánh dấu tuỳ chỉnh có nên ghi đè nhãn bản đồ cơ sở mặc định hay không khi có xung đột, đồng thời cho biết mức độ ưu tiên tương đối giữa các điểm đánh dấu tuỳ chỉnh. Để biết thêm thông tin, hãy xem bài viết Xử lý va chạm đánh dấu (Android).

Tuỳ chỉnh nhiều dòng (beta)

Hiện có một số cách mới để tuỳ chỉnh hình thức của hình nhiều đường:

  • Hình nhiều đường nhiều màu đặt các đoạn hình nhiều đường thành các màu khác nhau.
  • Hình nhiều đường chuyển màu tô màu một hình nhiều đường bằng cách sử dụng độ dốc gồm hai màu.
  • Hình nhiều đường ngắt tạo kiểu cho một hình nhiều đường bằng cách sử dụng các bitmap lặp lại.

Tạo một hình nhiều đường nhiều màu

Bạn có thể sử dụng span để tô màu riêng từng phân đoạn của một hình nhiều đường bằng cách tạo đối tượng StyleSpan và thêm các đối tượng đó vào PolylineOptions bằng phương thức addSpan() hoặc addSpans(). Theo mặc định, mỗi mục trong mảng sẽ đặt màu của phân đoạn hàng tương ứng. Ví dụ sau đây minh hoạ cách đặt màu cho phân đoạn để tạo một hình nhiều đường với các phân đoạn màu đỏ và màu xanh lục:

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(StyleSpan(Color.RED))
        .addSpan(StyleSpan(Color.GREEN))
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(Color.RED))
        .addSpan(new StyleSpan(Color.GREEN)));

      

Tạo hình nhiều đường chuyển màu

Bạn có thể xác định độ dốc bằng cách chỉ định 2 số nguyên alpha-red-green-blue (ARGB) 32 bit, để chỉ định màu bắt đầu và màu kết thúc của nét vẽ. Đặt thuộc tính này trên đối tượng tuỳ chọn của hình dạng bằng cách gọi PolylineOptions.addSpan(). Ví dụ sau đây cho thấy cách tạo một hình nhiều đường chuyển màu từ màu đỏ sang màu vàng từ Sở thú Woodland Park đến Kirkland, WA.

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(
            StyleSpan(
                StrokeStyle.gradientBuilder(
                    Color.RED,
                    Color.YELLOW
                ).build()
            )
        )
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));

      

Tạo một hình nhiều đường có dấu

Bạn có thể đặt giao diện của hình nhiều đường thành hoạ tiết bitmap lặp lại. Để thực hiện việc này, hãy tạo StampStyle của TextureStyle, sau đó đặt thuộc tính này trên đối tượng tuỳ chọn của hình dạng bằng cách gọi PolylineOptions.addSpan() như minh hoạ dưới đây:

Kotlin



val stampStyle =
    TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build()
val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build())
map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(span)
)

      

Java


StampStyle stampStyle =
        TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build();
StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build());
map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(span));

      

Nhập thư viện tiện ích tương thích với bản beta

Nếu đang sử dụng thư viện tiện ích API Google Maps dành cho Android, bạn cũng cần phải cập nhật các phần phụ thuộc của dự án để thay thế phiên bản hiện có bằng phiên bản tương thích với bản beta bằng cách thực hiện các bước sau:

  1. Nhập thư viện tiện ích tương thích với bản beta vào tệp build.gradle:
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. Xoá nội dung sau khỏi build.gradle để xoá thư viện tiện ích không tương thích với phiên bản beta:
    implementation 'com.google.maps.android:android-maps-utils:1.3.1'
    

Chạy mẫu

Kho lưu trữ Mẫu của Google trên GitHub bao gồm các ứng dụng mẫu minh hoạ việc sử dụng SDK Maps phiên bản 3.1.0 Beta cho Android.