Lớp phủ xếp kề

lớp cuối cùng công khai TileOverlay mở rộng đối tượng

Lớp phủ xếp kề là một tập hợp hình ảnh được hiển thị trên các ô bản đồ cơ sở. Những ô này có thể trong suốt, cho phép bạn thêm các đối tượng vào bản đồ hiện có. Lớp phủ ô có các thuộc tính sau:

Nhà cung cấp gạch lát
TileProvider cung cấp các hình ảnh được dùng trong lớp phủ ô. Bạn phải chỉ định trình cung cấp thẻ thông tin trước khi thêm trình cung cấp đó vào bản đồ. Bạn không thể thay đổi trình cung cấp thẻ thông tin sau khi thêm trình cung cấp đó. Tuy nhiên, bạn có thể sửa đổi hành vi của trình cung cấp thẻ thông tin để trả về các hình ảnh khác nhau cho các toạ độ cụ thể. Nếu các ô do nhà cung cấp thẻ thông tin cung cấp thay đổi, bạn phải gọi clearTileCache() sau đó để đảm bảo rằng các ô trước đó không còn hiển thị nữa.
Chỉ mục Z
Thứ tự vẽ lớp phủ này so với các lớp phủ khác (bao gồm cả GroundOverlay, Circle, PolylinePolygon nhưng không phải là Marker). Một lớp phủ có chỉ mục z lớn hơn được vẽ trên các lớp phủ có các chỉ báo z nhỏ hơn. Thứ tự lớp phủ có cùng chỉ mục z là tuỳ ý. Chỉ số zIndex mặc định là 0.
Sự minh bạch
Độ trong suốt của lớp phủ ô trong phạm vi [0..1], trong đó 0 có nghĩa là lớp phủ mờ và 1 có nghĩa là lớp phủ hoàn toàn trong suốt. Nếu bitmap được chỉ định đã trong suốt một phần, độ trong suốt của mỗi pixel sẽ được điều chỉnh theo tỷ lệ (ví dụ: nếu pixel trong bitmap có giá trị alpha là 200 và bạn chỉ định độ trong suốt của lớp phủ ô là 0, 25), thì pixel đó sẽ hiển thị trên màn hình với giá trị alpha là 150. Không bắt buộc phải có thông số kỹ thuật cho thuộc tính này và độ trong suốt mặc định là 0 (opaque).
Chế độ hiển thị
Cho biết lớp phủ ô có hiển thị hay không, tức là có hiển thị lớp phủ trên bản đồ hay không. Lớp phủ ô không hiển thị sẽ không được vẽ, nhưng vẫn giữ lại tất cả các thuộc tính khác của nó. Giá trị mặc định là true, tức là hiển thị.

Bạn chỉ được gọi các phương thức trong lớp này trên luồng chính. Nếu bạn không làm như vậy, kết quả sẽ là IllegalStateException.

Toạ độ ô

Lưu ý rằng thế giới dự kiến được chiếu bằng phép chiếu Mercator (xem Wikipedia) ở bên trái (phía tây) của bản đồ tương ứng với -180 độ kinh độ và phía bên phải (phía đông) của bản đồ tương ứng với 180 độ kinh độ. Để làm cho hình vuông của bản đồ, phía trên (phía bắc) của bản đồ tương ứng với 85,0511 độ vĩ độ và phía dưới (phía nam của bản đồ) tương ứng với -85,0511 độ vĩ độ. Các khu vực nằm ngoài phạm vi vĩ độ này không được hiển thị.

Ở mỗi mức thu phóng, bản đồ sẽ chia thành các ô và chỉ những ô xếp chồng lên màn hình mới được tải xuống và kết xuất. Mỗi ô vuông và một bản đồ được chia thành các ô như sau:

  • Ở mức thu phóng 0, một ô đại diện cho toàn bộ thế giới. Tọa độ của ô đó là (x, y) = (0, 0).
  • Ở cấp độ thu phóng 1, thế giới được chia thành 4 ô được sắp xếp theo lưới 2 x 2.
  • ...
  • Ở cấp độ thu phóng N, thế giới được chia thành 4N ô được sắp xếp trong một lưới 2N x 2N.
Xin lưu ý rằng mức thu phóng tối thiểu mà máy ảnh hỗ trợ (có thể phụ thuộc vào nhiều yếu tố) là GoogleMap.getMinZoomLevel và mức thu phóng tối đa là GoogleMap.getMaxZoomLevel.

Toạ độ của các ô được đo từ góc trên cùng bên trái (phía tây bắc) của bản đồ. Ở mức thu phóng N, giá trị x của tọa độ ô nằm trong khoảng từ 0 đến 2N – 1 và tăng từ tây sang đông và các giá trị y nằm trong khoảng từ 0 đến 2N – 1 và tăng từ bắc xuống nam.

Ví dụ:

GoogleMap map; // ... get a map.
 TileProvider tileProvider; // ... create a tile provider.
 TileOverlay tileOverlay = map.addTileOverlay(
     new TileOverlayOptions().tileProvider(tileProvider));
 

Tóm tắt phương pháp công khai

void
clearTileCache()
Xoá bộ nhớ đệm của thẻ thông tin để tất cả các thẻ thông tin sẽ được yêu cầu lại từ TileProvider.
boolean
equals (Đối tượng khác)
Kiểm tra xem TileOverlay này có tương đương với một kiểm thử khác hay không.
boolean
getFadeIn()
Cho biết các lớp phủ có phủ lên hay không.
Chuỗi
getId()
Lấy mã nhận dạng thẻ thông tin này.
số thực dấu phẩy động
getTransparency()
Có được tính minh bạch của lớp phủ ô này.
số thực dấu phẩy động
getZIndex()
Lấy zIndex của lớp phủ ô này.
int
boolean
isHiển thị()
Nhận chế độ hiển thị của lớp phủ ô này.
void
remove()
Xóa lớp phủ ô này khỏi bản đồ.
void
setFadeIn(boolean mergeIn)
Thiết lập xem các ô lớp phủ có mờ dần hay không.
void
setTransparency(độ trong suốt nổi)
Thiết lập độ trong suốt của lớp phủ ô này.
void
setVisible(hiển thị boolean)
Đặt chế độ hiển thị của lớp phủ ô này.
void
setZIndex (nổi zIndex)
Đặt zIndex của lớp phủ ô này.

Tóm tắt phương pháp kế thừa

Phương thức công khai

public void clearTileCache ()

Xoá bộ nhớ đệm của thẻ thông tin để tất cả các thẻ thông tin sẽ được yêu cầu lại từ TileProvider. Sau khi gọi phương thức này, các ô hiện tại trong lớp phủ ô này cũng sẽ bị xóa khỏi bản đồ. API này duy trì một bộ nhớ đệm nhỏ gồm các bộ nhớ đệm trong bộ nhớ. Nếu muốn lưu thẻ thông tin vào bộ nhớ đệm lâu hơn, bạn nên triển khai bộ nhớ đệm trên ổ đĩa.

boolean công khai equals (Đối tượng khác)

Kiểm tra xem TileOverlay này có tương đương với một kiểm thử khác hay không.

Các tham số
Chi phí khác Object.
Trả về
  • true nếu cả hai đối tượng là cùng một đối tượng, nghĩa là == khác.

boolean công khai getFadeIn ()

Cho biết các lớp phủ có phủ lên hay không.

Trả về
  • true nếu ô có màu mờ; false nếu không.

public Chuỗi getId ()

Lấy mã nhận dạng thẻ thông tin này.

công khai nổi getTransparency ()

Có được tính minh bạch của lớp phủ ô này.

Trả về
  • độ trong suốt của lớp phủ ô này.

float công khai getZIndex ()

Lấy zIndex của lớp phủ ô này.

Trả về
  • zIndex của lớp phủ ô.

public int hashCode ()

boolean công khai isVisible ()

Nhận chế độ hiển thị của lớp phủ ô này. Lưu ý rằng thông tin này sẽ không trả về việc lớp phủ ô có thực sự nằm trong khung nhìn của màn hình hay không, nhưng liệu lớp phủ có được vẽ hay không nếu lớp phủ đó được chứa trong khung nhìn của màn hình.

Trả về
  • khả năng hiển thị lớp phủ xếp kề này.

công khai khoảng trống xóa ()

Xóa lớp phủ ô này khỏi bản đồ.

public void setFadeIn (boolean mergeIn)

Thiết lập xem các ô lớp phủ có mờ dần hay không.

Các tham số
tăng dần true để làm cho các ô trông mờ dần; false để hiển thị các ô đó ngay lập tức.

public void setTransparency (độ trong suốt nổi)

Thiết lập độ trong suốt của lớp phủ ô này. Hãy xem tài liệu ở đầu lớp học này để biết thêm thông tin.

Các tham số
độ trong suốt một số thực dấu phẩy động trong dải ô [0..1], trong đó 0 có nghĩa là lớp phủ dạng ô trong suốt và 1 có nghĩa là lớp phủ dạng ô trong suốt.

public void setVisible (boolean tối ưu hoá)

Đặt chế độ hiển thị của lớp phủ ô này. Khi không hiển thị, lớp phủ ô sẽ không được vẽ, nhưng sẽ giữ lại mọi thuộc tính khác. Lớp phủ xếp kề sẽ hiển thị theo mặc định.

Các tham số
hiển thị true để hiển thị lớp phủ này; false để hiển thị lớp phủ này.

public void setZIndex (float zIndex)

Đặt zIndex của lớp phủ ô này. Hãy xem tài liệu ở đầu lớp học này để biết thêm thông tin.

Các tham số
Chỉ mục zIndex zIndex của lớp phủ ô này.