Lớp phủ mặt đất

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

Lớp phủ mặt đất là hình ảnh được cố định vào bản đồ. Lớp phủ mặt đất có các thuộc tính sau:

Vị trí
Có hai cách để chỉ định vị trí của lớp phủ mặt đất:
  • Sử dụng vị trí: Bạn phải cung cấp hình ảnh của lớp phủ mặt đất, LatLng mà neo cố định và chiều rộng của lớp phủ (tính bằng mét). Theo mặc định, neo đó là 50% từ đầu hình ảnh và 50% từ bên trái của hình ảnh. Bạn có thể thay đổi mục này. Bạn có thể cung cấp chiều cao của lớp phủ (tính bằng mét) nếu muốn. Nếu bạn không cung cấp chiều cao của lớp phủ, hệ thống sẽ tự động tính toán chiều cao để giữ nguyên tỷ lệ của hình ảnh.
  • Sử dụng ranh giới: Bạn phải cung cấp LatLngBounds chứa hình ảnh.
Bạn phải chỉ định vị trí của lớp phủ mặt đất trước khi thêm vào bản đồ, nếu không IllegalArgumentException sẽ được gửi khi lớp phủ mặt đất được thêm vào bản đồ. Hơn nữa, bạn chỉ phải chỉ định vị trí bằng một trong những phương thức này trong đối tượng GroundOverlayOptions; nếu không, IllegalStateException sẽ được gửi khi chỉ định bằng phương thức thứ hai.
Hình ảnh
Hình ảnh (dưới dạng BitmapDescriptor) dùng cho lớp phủ này. Hình ảnh sẽ được điều chỉnh theo tỷ lệ để phù hợp với vị trí đã cung cấp. Bạn phải chỉ định hình ảnh trước khi thêm lớp phủ mặt đất vào bản đồ; nếu không, IllegalArgumentException sẽ được gửi khi nó được thêm vào bản đồ.
Ổ trục
Lượng ảnh cần được xoay theo chiều kim đồng hồ. Tâm xoay sẽ là neo của hình ảnh. Tuỳ chọn này là không bắt buộc và góc phương vị mặc định là 0, tức là hình ảnh được căn chỉnh sao cho phía bắc hướng lên.
Chỉ mục zIndex
Thứ tự vẽ lớp phủ mặt đất đối với các lớp phủ khác (bao gồm cả PolylineTileOverlay, nhưng không phải Marker). Một lớp phủ có zIndex lớn hơn được vẽ trên các lớp phủ có zIndex nhỏ hơn. Thứ tự lớp phủ có cùng giá trị zIndex là tùy ý. Đây là phần không bắt buộc và zIndex mặc định là 0.
Sự minh bạch
Độ trong suốt của lớp phủ mặt đất 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ủ mặt đất 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ủ mặt đất 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ủ mặt đất 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ó. Đây là chế độ không bắt buộc và chế độ hiển thị mặc định là true, tức là hiển thị.
Khả năng nhấp
Nếu bạn muốn xử lý các sự kiện được kích hoạt khi người dùng nhấp vào lớp phủ mặt đất, hãy đặt thuộc tính này thành true. Bạn có thể thay đổi giá trị này bất kỳ lúc nào. Mặc định là false. Nếu bạn đặt thuộc tính này thành true, ứng dụng của bạn sẽ nhận được thông báo cho GoogleMap.OnGroundOverlayClickListener được đăng ký qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).
Thẻ
Object được liên kết với lớp phủ mặt đất. Ví dụ: Object có thể chứa dữ liệu về nội dung của lớp phủ mặt đất. Thao tác này dễ dàng hơn việc lưu trữ một Map<GroundOverlay, Object> riêng biệt. Ví dụ khác: bạn có thể liên kết mã nhận dạng String tương ứng với mã nhận dạng từ một tập dữ liệu. SDK Google Maps dành cho Android không đọc hay ghi thuộc tính này.

Các phương thức trong lớp này phải được gọi trên luồng giao diện người dùng Android. Nếu không, IllegalStateException sẽ được gửi vào thời gian chạy.

Ví dụ:

GoogleMap map = ...; // get a map.
 BitmapDescriptor imageDescriptor = ...; // get an image.
 LatLngBounds bounds = ...; // get a bounds
 // Adds a ground overlay with 50% transparency.
 GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
     .image(imageDescriptor)
     .positionFromBounds(bounds)
     .transparency(0.5));
 

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

boolean
equals(Đối tượng khác)
Kiểm tra xem GroundOverlay này có tương đương với một kiểm thử khác hay không.
số thực dấu phẩy động
getBearing()
Lấy góc phương tiện của lớp phủ mặt đất theo độ theo chiều kim đồng hồ từ hướng bắc.
LatLngBounds
getBounds ()
Lấy ranh giới cho lớp phủ mặt đất.
số thực dấu phẩy động
getHeight()
Lấy chiều cao của lớp phủ mặt đất.
Chuỗi
getId()
Lấy mã nhận dạng lớp phủ mặt đất này.
LatLng
getPosition()
Lấy vị trí của điểm neo.
Đối tượng
getTag()
Lấy thẻ cho vòng kết nối.
số thực dấu phẩy động
getTransparency()
Xem thông tin minh bạch về lớp phủ trên mặt đất.
số thực dấu phẩy động
getWidth()
Lấy chiều rộng của lớp phủ mặt đất.
số thực dấu phẩy động
getZIndex()
Lấy zIndex của lớp phủ mặt đất này.
int
boolean
isClickable()
Nhận được khả năng nhấp của lớp phủ mặt đất.
boolean
isHiển thị()
Nhận chế độ hiển thị của lớp phủ mặt đất này.
void
remove()
Xoá lớp phủ mặt đất này khỏi bản đồ.
void
set Bearing(gờ nổi)
Thiết lập góc phương hướng của lớp phủ mặt đất (hướng của trục dọc của lớp phủ mặt đất) theo độ kim đồng hồ từ phía Bắc theo chiều kim đồng hồ.
void
setClickable(có thể nhấp vào boolean)
Đặt khả năng nhấp của lớp phủ mặt đất.
void
setKích thước (chiều rộng nổi, chiều cao nổi)
Đặt kích thước của lớp phủ mặt đất.
void
setDimension (chiều rộng nổi)
Đặt chiều rộng của lớp phủ mặt đất.
void
setImage(BitmapDescriptor imageDescriptor)
Đặt hình ảnh cho Lớp phủ mặt đất.
void
setPosition(LatLng latLng)
Đặt vị trí của lớp phủ mặt đất bằng cách thay đổi vị trí của điểm neo.
void
setPositionFromBounds(LatLngBounds giới hạn)
Đặt vị trí của lớp phủ mặt đất bằng cách vừa với lớp LatLngBounds đã cho.
void
setTag(Thẻ đối tượng)
Đặt thẻ cho lớp phủ mặt đất.
void
setTransparency(độ trong suốt nổi)
Thiết lập độ trong suốt của lớp phủ mặt đất này.
void
setVisible(hiển thị boolean)
Đặt chế độ hiển thị cho lớp phủ mặt đất này.
void
setZIndex (nổi zIndex)
Đặt zIndex của lớp phủ mặt đất này.

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

Phương thức công khai

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

Kiểm tra xem GroundOverlay 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.

công khai nổi getBearing ()

Lấy góc phương tiện của lớp phủ mặt đất theo độ theo chiều kim đồng hồ từ hướng bắc.

Trả về
  • ổ trục của lớp phủ mặt đất.

công khai LatLngBounds getBounds ()

Lấy ranh giới cho lớp phủ mặt đất. Thao tác này sẽ bỏ qua chế độ xoay của lớp phủ mặt đất.

Trả về
  • LatLngBounds chứa lớp phủ mặt đất, bỏ qua việc xoay.

công khai float getHeight ()

Lấy chiều cao của lớp phủ mặt đất.

Trả về
  • chiều cao của lớp phủ mặt đất tính bằng mét.

public Chuỗi getId ()

Lấy mã nhận dạng lớp phủ mặt đất này. Mã nhận dạng này sẽ là mã duy nhất trong số các GroundOverlays trên một bản đồ.

Trả về
  • mã nhận dạng lớp phủ mặt đất này.

công khai LatLng getPosition ()

Lấy vị trí của điểm neo.

Trả về
  • vị trí trên bản đồ (LatLng).

công khai Đối tượng getTag ()

Lấy thẻ cho vòng kết nối.

Trả về
  • thẻ này nếu thẻ được đặt bằng setTag; null nếu bạn chưa đặt thẻ nào.

công khai nổi getTransparency ()

Xem thông tin minh bạch về lớp phủ trên mặt đất.

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

công khai nổi getWidth ()

Lấy chiều rộng của lớp phủ mặt đất.

Trả về
  • chiều rộng của lớp phủ mặt đất tính bằng mét.

float công khai getZIndex ()

Lấy zIndex của lớp phủ mặt đất này.

Trả về
  • zIndex của lớp phủ mặt đất.

public int hashCode ()

boolean công khai isClickable ()

Nhận được khả năng nhấp của lớp phủ mặt đất. Nếu có thể nhấp vào lớp phủ mặt đất, thì ứng dụng sẽ nhận được thông báo cho GoogleMap.OnGroundOverlayClickListener khi người dùng nhấp vào lớp phủ mặt đất. Trình nghe sự kiện được đăng ký qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Trả về
  • true nếu lớp phủ mặt đất có thể nhấp được; nếu không, hãy trả về false.

boolean công khai isVisible ()

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

Trả về
  • mức độ hiển thị lớp phủ mặt đất này.

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

Xoá lớp phủ mặt đất này khỏi bản đồ. Sau khi một lớp phủ mặt đất bị xoá, hành vi của tất cả phương thức của lớp phủ đó là không xác định.

public void setBearing (float phương vị)

Thiết lập góc phương hướng của lớp phủ mặt đất (hướng của trục dọc của lớp phủ mặt đất) theo độ kim đồng hồ từ phía Bắc theo chiều kim đồng hồ. Xoay vòng được thực hiện về điểm neo.

Các tham số
đang mang mang độ theo chiều kim đồng hồ từ hướng bắc

public void setClickable (boolean có thể nhấp)

Đặt khả năng nhấp của lớp phủ mặt đất. Nếu có thể nhấp vào lớp phủ mặt đất, thì ứng dụng sẽ nhận được thông báo cho GoogleMap.OnGroundOverlayClickListener khi người dùng nhấp vào lớp phủ mặt đất. Trình nghe sự kiện được đăng ký qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Các tham số
có thể nhấp Chế độ cài đặt lượt nhấp mới cho lớp phủ mặt đất.

public void setKích thước (chiều rộng nổi, chiều cao nổi)

Đặt kích thước của lớp phủ mặt đất. Hình ảnh sẽ được kéo giãn để vừa với kích thước.

Các tham số
chiều rộng chiều rộng tính bằng mét
độ cao chiều cao tính bằng mét

public void setKích thước (chiều rộng nổi)

Đặt chiều rộng của lớp phủ mặt đất. Chiều cao của lớp phủ mặt đất sẽ được điều chỉnh để phù hợp với tỷ lệ khung hình.

Các tham số
chiều rộng chiều rộng tính bằng mét

public void setImage (BitmapDescriptor imageDescriptor)

Đặt hình ảnh cho Lớp phủ mặt đất. Hình ảnh mới sẽ có ranh giới giống như hình ảnh cũ.

Các tham số
imageDescriptor (Trình mô tả hình ảnh) BitmapDescriptor để sử dụng cho lớp phủ mặt đất này.

public void setPosition (LatLng latLng) (

Đặt vị trí của lớp phủ mặt đất bằng cách thay đổi vị trí của điểm neo. Giữ lại tất cả thuộc tính khác của hình ảnh.

Các tham số
vĩ độ kinh độ LatLng là vị trí mới để đặt điểm neo.

public void setPositionFromBounds (LatLngBounds bounds)

Đặt vị trí của lớp phủ mặt đất bằng cách vừa với lớp LatLngBounds đã cho. Phương thức này sẽ bỏ qua việc xoay (gối) của lớp phủ mặt đất khi đặt vị trí, nhưng ổ trục vẫn sẽ được sử dụng khi vẽ.

Các tham số
ranh giới LatLngBounds để đặt lớp phủ mặt đất

public void setTag (Thẻ đối tượng)

Đặt thẻ cho lớp phủ mặt đất.

Bạn có thể sử dụng thuộc tính này để liên kết Object tùy ý với lớp phủ mặt đất. Ví dụ: Object có thể chứa dữ liệu về nội dung của lớp phủ mặt đất. Thao tác này dễ dàng hơn việc lưu trữ một Map<GroundOverlay, Object> riêng. Một ví dụ khác, bạn có thể liên kết mã nhận dạng String tương ứng với mã nhận dạng từ một tập dữ liệu. SDK Google Maps dành cho Android không đọc hay ghi thuộc tính này. Bạn có trách nhiệm gọi setTag(null) để xoá thẻ khi không cần nữa để ngăn rò rỉ bộ nhớ trong ứng dụng.

Các tham số
tag Nếu giá trị là rỗng, thẻ này sẽ bị xoá.

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

Thiết lập độ trong suốt của lớp phủ mặt đất 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 có độ chính xác đơn trong phạm vi [0..1], trong đó 0 có nghĩa là lớp phủ mặt đất có độ mờ và 1 có nghĩa là lớp phủ mặt đất trong suốt.

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

Đặt chế độ hiển thị cho lớp phủ mặt đất này. Khi không hiển thị, lớp phủ mặt đất sẽ không được vẽ, nhưng vẫn chứa tất cả các thuộc tính khác.

Các tham số
hiển thị nếu true, thì lớp phủ mặt đất sẽ hiển thị; nếu false thì không

public void setZIndex (float zIndex)

Đặt zIndex của lớp phủ mặt đất 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ủ mặt đất này