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 kiếm các tính năng nâng cao để thêm vào bản đồ của mình? SDK Maps dành cho Thư viện tiện ích Android là một thư viện nguồn mở bao 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à ứng dụng demo minh hoạ cách sử dụng từng lớp.

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

Thiết lập nhanh

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

Tiện ích

Bản đồ có lớp GeoJSON

Nhập GeoJSON vào bản đồ của bạn

Bạn có thể lưu trữ các tính năng ở định dạng GeoJSON và sử dụng tiện ích này để hiển thị chú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 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 trên Tiện ích GeoJSON dành cho Android của Google Maps.

Bản đồ có một lớp KML

Nhập KML vào bản đồ của bạn

Bằng cách 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 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 Dấu vị trí, GroundOverlay, Tài liệu hoặc Thư mục bất kỳ.

Để biết thông tin chi tiết, hãy xem tài liệu về Tiện ích KML dành cho Android dành cho 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 sự phân bố và cường độ tương đối của các điểm dữ liệu trên bản đồ. Thay vì đặt một điểm đánh dấu ở từng vị trí, bản đồ nhiệt sử dụng màu sắc và hình dạng để thể hiện sự phân phối dữ liệu. Tạo HeatmapTileProvider, truyền vào đó một tập hợp các đối tượng LatLng đại diện cho các địa điểm yêu thích trên bản đồ. Sau đó, tạo một TileOverlay mới, truyền vào đó trình cung cấp ô bản đồ nhiệt và thêm lớp phủ ô vào bản đồ.

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

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

Tuỳ chỉnh điểm đánh dấu qua biểu tượng bong bóng

Thêm IconGenerator để cho thấy các đoạn thông tin về điểm đánh dấu. Tiện ích này cung cấp một cách làm cho biểu tượng điểm đánh dấu trông khá giống cửa sổ thông tin, trong đó bản thân đ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 lúc, trong khi chỉ có thể mở một cửa sổ thông tin cùng 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 và 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 theo cụm

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 ở các mức thu phóng khác nhau. Đ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ẽ hiển thị trên bản đồ. Khi người dùng thu nhỏ mức thu phóng 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 phân nhóm Android Marker 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, hình nhiều đường và đa giác của riêng mình trên cùng một bản đồ. Các lớp này cũng có thể có tính tương tác bằng cách thêm trình nghe lượt nhấp vào mỗi lớp. Bạn chỉ cần tạo thực thể cho các lớp MarkerManager, GroundOverlayManager, PolygonManagerPolylineManager rồi truyền chúng vào hàm khởi tạo của GeoJsonLayer, KmlLayer, ClusterManager khi bạn thiết lập chúng. Sau đó, bạn có thể trực tiếp sử dụng các lớp Manager ở trên để thêm điểm đánh dấu, hình nhiều đường và đa giác của riêng bạn vào bản đồ.

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

Bản đồ có hình nhiều đường được mã hoá

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

PolyUtil rất hữu ích trong việc chuyển đổi hình nhiều đường 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 hình nhiều đường hoặc đa giác được lưu trữ dưới dạng một chuỗi mã hoá. Xem nội dung giải thích chi tiết về phương thức mã hoá hình nhiều đường. 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ư Directions API.

Bạn có thể sử dụng PolyUtil trong SDK Maps dành cho Thư viện tiện ích Android để mã hoá một chuỗi toạ độ 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 LatLng. Việc 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 đề 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à tiêu đề dựa trên vĩ độ và kinh độ. Dưới đây là một số phương thức có thể dùng 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ị, 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 đi kín trên Trái đất.
  • interpolate() – Trả về toạ độ vĩ độ/kinh độ của một điểm nằm trong một phần cho trước của khoảng cách giữa hai điểm cho trước. Ví dụ: bạn có thể sử dụng tính năng này để tạo ảnh độ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.

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.