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ủ trên mặt đất là một 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ó 2 cách để chỉ định vị trí của lớp phủ trên mặt đất:
  • Sử dụng vị trí: Bạn phải cung cấp hình ảnh của lớp phủ trên mặt đất, LatLng để cố định neo và chiều rộng của lớp phủ (tính bằng mét). Theo mặc định, liên kết nằm cách phần đầu hình ảnh 50% và cách bên trái hình ảnh 50%. Bạn có thể thay đổi chế độ này. Bạn có thể tuỳ ý cung cấp chiều cao của lớp phủ (tính bằng mét). Nếu bạn không cung cấp chiều cao của lớp phủ thì chiều cao sẽ tự động được tính để giữ nguyên tỷ lệ của hình ảnh.
  • Sử dụng ranh giới: Bạn phải cung cấp LatLngBounds có chứa hình ảnh.
Bạn phải chỉ định vị trí của lớp phủ trên 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ủ trên mặt đất được thêm vào bản đồ. Hơn nữa, bạn chỉ được chỉ định vị trí bằng một trong các phương thức này trong đối tượng GroundOverlayOptions; nếu không, IllegalStateException sẽ được gửi khi chỉ định sử dụng phương thức thứ hai.
Bài đăng có 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í được cung cấp. Bạn phải chỉ định hình ảnh trước khi thêm lớp phủ trên mặt đất vào bản đồ. Nếu không, IllegalArgumentException sẽ được gửi khi thêm vào bản đồ.
Góc phương vị
Số lượng mà hình ảnh nên được xoay theo chiều kim đồng hồ. Tâm của chế độ xoay sẽ là điểm neo của hình ảnh. Điều này là không bắt buộc và góc phương tiện mặc định là 0, tức là hình ảnh được căn chỉnh sao cho phía trên là hướng bắc.
zIndex
Thứ tự vẽ lớp phủ mặt đất này so với các lớp phủ khác (bao gồm PolylineTileOverlay, nhưng không bao gồm 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ự của các lớp phủ có cùng giá trị zIndex là tuỳ ý. Thao tác này là không bắt buộc và zIndex mặc định là 0.
Sự minh bạch
Tính minh bạch của lớp phủ mặt đất trong dải ô [0..1], trong đó 0 có nghĩa là lớp phủ không trong suốt và 1 có nghĩa là lớp phủ hoàn toàn trong suốt. Nếu bitmap được chỉ định đã có một phần trong suốt, thì độ trong suốt của từng pixel sẽ được điều chỉnh theo tỷ lệ tương ứng (ví dụ: nếu một 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). Thông số kỹ thuật của thuộc tính này là không bắt buộc và độ trong suốt mặc định là 0 (độ mờ).
Chế độ hiển thị
Cho biết liệu lớp phủ trên mặt đất có nhìn thấy được hay không, tức là lớp đó có được vẽ 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 giữ lại tất cả các thuộc tính khác của nó. Đây là 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 cứ lúc nào. Giá trị mặc định là false. Nếu bạn đặt thuộc tính này thành true, ứng dụng sẽ nhận được thông báo đến GoogleMap.OnGroundOverlayClickListener đã đăng ký thông qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).
Gắn thẻ
Object 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. Việc này sẽ dễ dàng hơn so với 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ột mã nhận dạng String tương ứng với mã nhận dạng trong 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 trong 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 thức công khai

boolean
bằng(Đối tượng khác)
Kiểm tra xem GroundOverlay này có bằng với một giá trị khác hay không.
float
getBearing()
Lấy góc phương vị của lớp phủ mặt đất theo độ theo chiều kim đồng hồ từ hướng bắc.
LatLngBounds
Hàm getBounds()
Lấy các giới hạn cho lớp phủ trên mặt đất.
float
getHeight()
Lấy chiều cao của lớp phủ mặt đất.
Chuỗi
getId()
Lấy mã nhận dạng của lớp phủ trên mặt đất này.
LatLng
getPosition()
Lấy vị trí của điểm neo.
Đối tượng
Hàm getTag()
Lấy thẻ cho vòng kết nối.
float
Hàm getTransparency()
Xem được độ trong suốt của lớp phủ mặt đất này.
float
getWidth()
Lấy chiều rộng của lớp phủ mặt đất.
float
getZIndex()
Lấy zIndex của lớp phủ mặt đất này.
int
boolean
isClickable()
Xem khả năng nhấp của lớp phủ mặt đất.
boolean
isVisible()
Xem chế độ hiển thị của lớp phủ mặt đất này.
void
xoá()
Xoá lớp phủ trên mặt đất này khỏi bản đồ.
void
setBearing(gối nổi)
Đặt góc phương vị của lớp phủ mặt đất (hướng mà trục thẳng đứng của lớp phủ mặt đất chỉ vào) theo độ theo chiều kim đồng hồ từ hướng bắc.
void
setClickable(có thể nhấp vào boolean)
Đặt khả năng nhấp của lớp phủ mặt đất.
void
setDimensions(chiều rộng số thực, chiều cao số thực)
Đặt kích thước của lớp phủ mặt đất.
void
setDimensions(chiều rộng số thực)
Đặ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)
Thiết lập 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(giới hạn LatLngBounds)
Đặt vị trí của lớp phủ mặt đất bằng cách điều chỉnh lớp này với LatLngBounds cho trước.
void
setTag(Thẻ đối tượng)
Đặt thẻ cho lớp phủ mặt đất.
void
setTransparency(độ trong suốt nổi)
Đặt độ trong suốt của lớp phủ mặt đất này.
void
setVisible(boolean hiển thị)
Đặt chế độ hiển thị của lớp phủ mặt đất này.
void
setZIndex(số thực dấu phẩy động zIndex)
Đặt zIndex của lớp phủ mặt đất này.

Tóm tắt phương thức kế thừa

Phương thức công khai

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

Kiểm tra xem GroundOverlay này có bằng với một giá trị khác hay không.

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

số thực xuất hiện công khai getBearing ()

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

Trả bóng
  • góc phương vị của lớp phủ mặt đất.

công khai LatLngBounds getBounds ()

Lấy các giới hạn cho lớp phủ trên mặt đất. Thao tác này sẽ bỏ qua việc xoay lớp phủ mặt đất.

Trả bóng
  • LatLngBounds chứa lớp phủ mặt đất, bỏ qua chế độ xoay.

public float getHeight ()

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

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

công khai Chuỗi getId ()

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

Trả bóng
  • mã nhận dạng của lớp phủ mặt đất này.

công khai LatLng getPosition ()

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

Trả bóng
  • 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ả bóng
  • thẻ nếu thẻ được đặt bằng setTag; null nếu chưa có thẻ nào được đặt.

số thực dấu phẩy động công khai getTransparency ()

Xem được độ trong suốt của lớp phủ mặt đất này.

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

public float getWidth ()

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

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

public float getZIndex ()

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

Trả bóng
  • zIndex của lớp phủ mặt đất.

public int hashCode ()

công khai boolean isClickable ()

Xem 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, ứng dụng của bạn sẽ nhận được thông báo gửi đến 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ý thông qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Trả bóng
  • true nếu lớp phủ mặt đất có thể nhấp vào được; nếu không sẽ trả về false.

boolean công khai isVisible ()

Xem 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 cho biết 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 sẽ cho biết liệu lớp phủ có được vẽ hay không nếu lớp phủ đó nằm trong khung nhìn của máy ảnh.

Trả bóng
  • khả năng hiển thị của lớp phủ mặt đất này.

công khai khoảng trống xoá ()

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

công khai khoảng trống setBearing (vòng bi nổi)

Đặt góc phương vị của lớp phủ mặt đất (hướng mà trục thẳng đứng của lớp phủ mặt đất chỉ vào) theo độ theo chiều kim đồng hồ từ hướng bắc. Quá trình xoay được thực hiện đối với điểm neo.

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

công khai 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, ứng dụng của bạn sẽ nhận được thông báo gửi đến 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ý thông qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Các tham số
có thể nhấp Chế độ cài đặt mới về khả năng nhấp cho lớp phủ mặt đất.

công khai khoảng trống setDimensions (chiều rộng số thực, chiều cao số thực)

Đặt kích thước của lớp phủ mặt đất. Hình ảnh sẽ bị kéo giãn cho 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 theo mét

công khai khoảng trống setDimensions (chiều rộng có độ chính xác đơn)

Đặ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 cho phù hợp để duy trì tỷ lệ khung hình.

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

công khai khoảng trống setImage (BitmapDescriptor imageDescriptor)

Đặt hình ảnh cho Lớp phủ mặt đất. Hình ảnh mới sẽ chiếm cùng các giới hạn như hình ảnh cũ.

Các tham số
imageDescriptor BitmapDescriptor để sử dụng cho lớp phủ mặt đất này.

public void setPosition (LatLng latLng)

Thiết lập 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ả các thuộc tính khác của hình ảnh.

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

công khai khoảng trống setPositionFromBounds (LatLngBounds ví dụ)

Đặt vị trí của lớp phủ mặt đất bằng cách điều chỉnh lớp này với LatLngBounds cho trước. Phương thức này sẽ bỏ qua vòng xoay (góc chịu lực) của lớp phủ mặt đất khi định vị lớp phủ này nhưng vòng bi sẽ vẫn được sử dụng khi vẽ.

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

công khai khoảng trống 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 một Object tuỳ ý với lớp phủ mặt đất này. Ví dụ: Object có thể chứa dữ liệu về nội dung của lớp phủ mặt đất. Việc này sẽ dễ dàng hơn so với việc lưu trữ một Map<GroundOverlay, Object> riêng. Một ví dụ khác là bạn có thể liên kết một mã nhận dạng String tương ứng với mã nhận dạng đó trong một tập dữ liệu. SDK Google Maps dành cho Android không đọc hoặc 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, nhằm ngăn ngừa rò rỉ bộ nhớ trong ứng dụng của mình.

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

công khai khoảng trống setTransparency (độ trong suốt nổi)

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

Các tham số
tính minh bạch một số thực trong phạm vi [0..1], trong đó 0 có nghĩa là lớp phủ trên mặt đất không trong suốt và 1 có nghĩa là lớp phủ trên mặt đất trong suốt.

public void setVisible (boolean visible)

Đặt chế độ hiển thị của 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 giữ tất cả các thuộc tính khác.

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

công khai khoảng trống 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 này để biết thêm thông tin.

Các tham số
zIndex zIndex của lớp phủ mặt đất này