SDK Maps dành cho Thư viện tiện ích Android

Chọn nền tảng: Android iOS

Bạn đang tìm những tính năng nâng cao để thêm vào bản đồ của mình? Thư viện tiện ích SDK Bản đồ dành cho Android là một thư viện nguồn mở gồm các lớp hữu ích cho nhiều ứng dụng. Kho lưu trữ GitHub bao gồm các lớp tiện ích và một ứng dụng minh hoạ cách sử dụng từng lớp.

Trong video này, Chris Broadfoot thảo luận về thư viện tiện ích, tập trung vào việc giải mã đường đa tuyến, hình học hình cầu và biểu tượng bong bóng trò chuyện.

Thiết lập nhanh

Để cài đặt SDK Bản đồ cho Thư viện tiện ích Android, hãy làm theo hướng dẫn thiết lập.

Các tiện ích

Bản đồ có lớp GeoJSON

Nhập GeoJSON vào bản đồ

Bạn có thể lưu trữ các đối tượng trong định dạng GeoJSON và sử dụng tiện ích này để hiển thị các đối tượng đó dưới dạng một lớp trên bản đồ. Gọi addLayer() để thêm dữ liệu GeoJSON vào bản đồ. Bạn cũng có thể thêm từng tính năng riêng lẻ bằng cách gọi addFeature(), truyền vào một đối tượng GeoJsonFeature.

Để biết thông tin chi tiết, hãy xem tài liệu về Tiện ích GeoJSON Android của Google Maps.

Bản đồ có lớp KML

Nhập tệp KML vào bản đồ

Khi sử dụng tiện ích này, bạn có thể chuyển đổi các đối tượng KML thành hình dạng địa lý và hiển thị các đối tượng đó dưới dạng một lớp trên đầu bản đồ. Gọi addLayerToMap() để thêm lớp vào bản đồ. Bạn có thể truy cập vào các thuộc tính trong đối tượng KML bằng cách gọi getProperties() trên bất kỳ Placemark, GroundOverlay, Document hoặc Folder nào.

Để biết thông tin chi tiết, hãy xem tài liệu về Tiện ích KML Android của Google Maps.

Bản đồ có bản đồ nhiệt

Thêm bản đồ nhiệt vào bản đồ

Bản đồ nhiệt giúp người xem dễ dàng hiểu được mức độ phân phối và cường độ tương đối của các điểm dữ liệu trên bản đồ. Thay vì đặt điểm đánh dấu tại mỗi vị trí, bản đồ nhiệt sử dụng màu sắc và hình dạng để thể hiện mức phân phối dữ liệu. Tạo một HeatmapTileProvider, truyền vào đó một tập hợp các đối tượng LatLng đại diện cho các điểm yêu thích trên bản đồ. Sau đó, hãy tạo một TileOverlay mới, truyền trình cung cấp thẻ thông tin nhiệt vào đó và thêm lớp phủ thẻ thông tin vào bản đồ.

Để biết thông tin chi tiết, hãy xem tài liệu về Tiện ích bản đồ nhiệt Android của Google Maps.

Bản đồ có biểu tượng bong bóng

Tuỳ chỉnh điểm đánh dấu thông qua biểu tượng bong bóng trò chuyện

Thêm IconGenerator để hiển thị các đoạn thông tin trên điểm đánh dấu. Tiện ích này cung cấp một cách để làm cho các biểu tượng điểm đánh dấu trông giống như cửa sổ thông tin, trong đó chính điểm đánh dấu có thể chứa văn bản và nội dung khác. Ưu điểm là bạn có thể mở nhiều điểm đánh dấu cùng một lúc, trong khi chỉ có thể mở một cửa sổ thông tin cùng một lúc. Bạn cũng có thể tạo kiểu cho điểm đánh dấu, thay đổi hướng của điểm đánh dấu và/hoặc nội dung, cũng như thay đổi hình nền/9-patch của điểm đánh dấu.

Bản đồ có các điểm đánh dấu được nhóm lại

Quản lý cụm điểm đánh dấu

ClusterManager giúp bạn quản lý nhiều điểm đánh dấu ở nhiều cấp độ thu phóng. Điều này có nghĩa là bạn có thể đặt một số lượng lớn điểm đánh dấu trên bản đồ mà không làm cho bản đồ khó đọc. Khi người dùng xem bản đồ ở mức thu phóng cao, các điểm đánh dấu riêng lẻ sẽ xuất hiện trên bản đồ. Khi người dùng thu nhỏ đến mức thu nhỏ thấp hơn, các điểm đánh dấu sẽ tập hợp lại thành các cụm để giúp xem bản đồ dễ dàng hơn.

Để biết thông tin chi tiết, hãy xem tài liệu về Tiện ích cụm điểm đánh dấu Android của Google Maps.

Bản đồ có nhiều lớp

Thêm nhiều lớp vào cùng một bản đồ

Bạn có thể hiển thị các đối tượng từ GeoJSON, KML và cụm — cũng như các điểm đánh dấu, đa tuyến và đa giác của riêng mình — tất cả trên cùng một bản đồ. Bạn cũng có thể tạo khả năng tương tác cho các lớp này bằng cách thêm trình nghe lượt nhấp vào từng lớp. Bạn chỉ cần tạo bản sao cho các lớp MarkerManager, GroundOverlayManager, PolygonManagerPolylineManager rồi truyền các lớp đó vào hàm khởi tạo của GeoJsonLayer, KmlLayer, ClusterManager khi thiết lập các lớp đó. Sau đó, bạn có thể trực tiếp sử dụng các lớp Manager ở trên để thêm các điểm đánh dấu, đa tuyến và đa giác của riêng mình vào bản đồ.

Để biết thông tin chi tiết, hãy xem tài liệu về Bản minh hoạ nhiều lớp của Google Maps trên Android.

Bản đồ có một đường đa tuyến được mã hoá

Mã hoá và giải mã hình nhiều đường

PolyUtil hữu ích cho việc chuyển đổi các đa tuyến và đa giác được mã hoá thành toạ độ vĩ độ/kinh độ và ngược lại.

Trong Google Maps, toạ độ vĩ độ và kinh độ xác định một đa tuyến hoặc đa giác được lưu trữ dưới dạng một chuỗi được mã hoá. Xem nội dung giải thích chi tiết về mã hoá đường đa tuyến. Bạn có thể nhận được chuỗi đã mã hoá này trong phản hồi từ một API của Google, chẳng hạn như API Chỉ đường (Cũ).

Bạn có thể sử dụng PolyUtil trong Thư viện tiện ích SDK Maps cho Android để mã hoá một chuỗi tọa độ vĩ độ/kinh độ ("LatLngs") thành một chuỗi đường dẫn đã mã hoá và để giải mã một chuỗi đường dẫn đã mã hoá thành một chuỗi LatLngs. Điều này sẽ đảm bảo khả năng tương tác với các dịch vụ web của API Google Maps.

Khoảng cách được tính giữa hai điểm trên bản đồ

Tính khoảng cách, diện tích và tiêu đề thông qua hình học hình cầu

Bằng cách sử dụng các tiện ích hình học hình cầu trong SphericalUtil, bạn có thể tính toán khoảng cách, diện tích và hướng dựa trên vĩ độ và kinh độ. Sau đây là một số phương thức có trong tiện ích:

  • computeDistanceBetween() – Trả về khoảng cách, tính bằng mét, giữa hai toạ độ vĩ độ/kinh độ.
  • computeHeading() – Trả về góc phương vị, tính theo độ, giữa hai toạ độ vĩ độ/kinh độ.
  • computeArea() – Trả về diện tích (tính bằng mét vuông) của một đường dẫn kín trên Trái Đất.
  • interpolate() – Trả về toạ độ vĩ độ/kinh độ của một điểm nằm ở một phần nhất định của khoảng cách giữa hai điểm đã cho. Ví dụ: bạn có thể sử dụng tính năng này để tạo hiệu ứng động cho một điểm đánh dấu giữa hai điểm.

Hãy tham khảo tài liệu tham khảo để biết danh sách đầy đủ các phương thức trong tiện ích này.

Kiểm tra xem một vị trí có được hỗ trợ trong Chế độ xem đường phố hay không

Kiểm tra xem một vị trí có được hỗ trợ trong Chế độ xem đường phố hay không.

Lớp StreetViewUtil cung cấp chức năng để kiểm tra xem một vị trí có được hỗ trợ trong Chế độ xem đường phố hay không. Bạn có thể tránh lỗi khi thêm ảnh toàn cảnh Chế độ xem đường phố vào ứng dụng Android bằng cách gọi tiện ích siêu dữ liệu này và chỉ thêm ảnh toàn cảnh Chế độ xem đường phố nếu phản hồi là OK.

Để biết thông tin chi tiết, hãy xem tài liệu về tiện ích siêu dữ liệu của Chế độ xem đường phố trên GitHub.