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ó những đặc điểm sau thuộc tính:

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 điểm neo sẽ được cố định và chiều rộng của lớp phủ (tính bằng mét). Chiến lược phát hành đĩa đơn theo mặc định, neo nằm cách 50% từ đầu hình ảnh và 50% từ bên trái của hình ảnh. 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ủ (trong mét). Nếu bạn không cung cấp chiều cao của lớp phủ, nó sẽ tự động được tính toán để duy trì tỷ lệ hình ảnh.
  • Sử dụng Giới hạn: Bạn phải cung cấp LatLngBounds sẽ chứa hình ảnh.
Bạn phải chỉ định vị trí của lớp phủ mặt đất trước khi nó được 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 các phương thức trong đối tượng GroundOverlayOptions; nếu không, hệ thống sẽ gửi IllegalStateException khi chỉ định bằng phương thức thứ hai.
Bài đăng có hình ảnh
Hình ảnh (dưới dạng BitmapDescriptor) sẽ dùng cho lớp phủ này. Hình ảnh này sẽ điều chỉnh theo tỷ lệ cho vừa với vị trí được cung cấp. Bạn phải chỉ định hình ảnh trước khi thêm mặt đất phủ lên bản đồ; nếu không, IllegalArgumentException sẽ được gửi khi đã được thêm vào bản đồ.
Ổ đĩa
Khoảng xoay hình ảnh theo chiều kim đồng hồ. Trung tâm của xoay sẽ là quảng cáo cố định của hình ảnh. Đây là giá trị không bắt buộc và góc phương vị mặc định là 0, tức là ảnh được căn chỉnh sao cho hướng lên là hướng bắc.
zIndex
Thứ tự vẽ lớp phủ trên mặt đất này so với các lớp phủ khác (bao gồm PolylineTileOverlay, nhưng không phải Marker). Lớp phủ có zIndex lớn hơn được vẽ trên lớp phủ có zIndex nhỏ hơn. Thứ tự lớp phủ với cùng một giá trị zIndex là tuỳ ý. Đây là giá trị 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ờ đục và 1 có nghĩa là lớp phủ hoàn toàn trong suốt. Nếu giá trị được chỉ định bitmap đã trong suốt một phần, độ trong suốt của từng pixel sẽ được điều chỉnh theo tỷ lệ theo đó (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ẽ được kết xuất trên màn hình có 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 (không rõ ràng).
Chế độ hiển thị
Cho biết lớp phủ mặt đất nhìn thấy được hay không nhìn thấy được, tức là lớp đó được vẽ trên bản đồ. Một lớp phủ mặt đất vô hình không được vẽ nhưng vẫn giữ lại tất 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 tuỳ chọn này vào true. Bạn có thể thay đổi giá trị này bất kỳ 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 thì ứng dụng của bạn sẽ nhận được thông báo đến Đã đăng ký GoogleMap.OnGroundOverlayClickListener đến hết ngày setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).
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 mà lớp phủ mặt đất thể hiện. Việc này dễ dàng hơn việc lưu trữ phân tách Map<GroundOverlay, Object>. 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 trong một tập dữ liệu. SDK Google Maps dành cho Android cũng không được đọc và 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 về phương thức công khai

boolean
bằng(Đối tượng khác)
Kiểm thử xem GroundOverlay này có bằng một mã khác hay không.
số thực dấu phẩy động
getBearing()
Lấy góc chịu lực 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 của 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 độ trong suốt của lớp phủ mặt đất này.
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()
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
remove()
Xoá lớp phủ mặt đất này khỏi bản đồ.
void
setBearing(vòng bi nổi)
Đặt góc chịu lực của lớp phủ mặt đất (hướng mà trục tung của mặt đất điểm phủ) theo độ theo chiều kim đồng hồ từ hướng bắc.
void
setClickable(boolean có thể nhấp)
Đặ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 của 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)
Đặ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(giới hạn LatLngBounds)
Đặt vị trí của lớp phủ mặt đất bằng cách khớp lớp phủ đó 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 của số thực)
Đặt độ trong suốt của lớp phủ mặt đất này.
void
setVisible(boolean visible)
Đặt chế độ hiển thị của 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 về phương thức kế thừa

Phương thức công khai

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

Kiểm thử xem GroundOverlay này có bằng một mã khác hay không.

Tham số
Chi phí khác Object.
Giá trị trả về
  • true nếu cả hai đối tượng đều là cùng một đối tượng, tức là đối tượng này == khác.

công khai độ chính xác đơn getBearing ()

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

Giá trị trả về
  • góc chịu lự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. Phương thức này bỏ qua việc xoay lớp phủ mặt đất.

Giá trị trả về
  • LatLngBounds chứa lớp phủ mặt đất, bỏ qua hướng xoay.

công khai độ chính xác đơn getHeight ()

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

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

công khai Chuỗi văn bản getId ()

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

Giá trị trả về
  • 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.

Giá trị 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.

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

công khai độ chính xác đơn getTransparency ()

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

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

công khai độ chính xác đơn getWidth ()

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

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

công khai độ chính xác đơn getZIndex ()

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

Giá trị trả về
  • zIndex của lớp phủ mặt đất.

công khai đánh chặn 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 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 này được đăng ký thông qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

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

công khai boolean isVisible ()

Xem chế độ hiển thị của lớp phủ mặt đất này. Xin lưu ý rằng giá trị này sẽ không trả về cho dù mặt đất thực sự đang ở trên màn hình, nhưng liệu lớp phủ có được vẽ không nếu nằm trong khung nhìn.

Giá trị trả về
  • khả năng hiển thị của lớp phủ mặt đất này.

công khai trống xoá ()

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

công khai trống setBearing (gờ đỡ nổi)

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

Tham số
đang mang góc phương bắc theo độ

công khai trống 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 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 này được đăng ký thông qua setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Tham số
có thể nhấp Cài đặt khả năng nhấp mới cho lớp phủ mặt đất.

công khai trống setDimensions (chiều rộng của số thực dấu phẩy động, chiều cao của 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.

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

công khai trống setDimensions (chiều rộng của số thực dấu phẩy động)

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

Tham số
chiều rộng chiều rộng tính bằng mét

công khai 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 ranh giới với hình ảnh cũ hình ảnh.

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

công khai trống 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. Bảo quản tất cả thuộc tính khác của hình ảnh.

Tham số
latLng LatLng là vị trí mới để đặt điểm neo.

công khai trống setPositionFromBounds (LatLngBounds)

Đặt vị trí của lớp phủ mặt đất bằng cách khớp lớp phủ đó với LatLngBounds cho trước. Chiến dịch này phương thức này sẽ bỏ qua sự xoay (giá đỡ) của lớp phủ mặt đất khi định vị nó, nhưng phương thức góc phương tiện sẽ vẫn được sử dụng khi vẽ.

Tham số
ranh giới LatLngBounds để đặt lớp phủ mặt đất

công khai 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 mà lớp phủ mặt đất thể hiện. Chiến dịch này dễ dàng hơn so với việc lưu trữ một Map<GroundOverlay, Object> riêng biệt. Một ví dụ khác là bạn có thể liên kết mã nhận dạng String tương ứng với mã nhận dạng của một tập dữ liệu. SDK Google Maps dành cho Android không đọc cũng không ghi thuộc tính này. Bạn có trách nhiệm gọi setTag(null) để xoá thẻ này khi không cần nữa, nhằm ngăn chặn tình trạng rò rỉ bộ nhớ trong ứng dụng.

Tham số
thẻ nếu rỗng, thẻ sẽ bị xoá.

công khai trống setTransparency (độ trong suốt của độ chính xác đơn)

Đặt độ 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.

Tham số
độ trong suốt số thực dấu phẩy động trong phạm vi [0..1], trong đó 0 có nghĩa là mặt đất lớp phủ mờ đục và 1 có nghĩa là lớp phủ mặt đất trong suốt.

công khai trống setVisible (boolean visible)

Đặt chế độ hiển thị của lớp phủ mặt đất này. Khi không nhìn thấy, lớp phủ mặt đất sẽ không được vẽ, nhưng giữ lại mọi thuộc tính khá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ì sẽ không được

công khai trống setZIndex (nổi 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 của bạn.

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