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.
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ượngGroundOverlayOptions
; nếu không,IllegalStateException
sẽ được gửi khi chỉ định sử dụng phương thức thứ hai. - 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,
- 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
Polyline
vàTileOverlay
, nhưng không bao gồmMarker
). 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ànhtrue
, ứng dụng sẽ nhận được thông báo đếnGoogleMap.OnGroundOverlayClickListener
đã đăng ký thông quasetOnGroundOverlayClickListener(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ộtMap<GroundOverlay, Object>
riêng. Một ví dụ khác, bạn có thể liên kết một mã nhận dạngString
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 |
hashCode()
|
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 | |
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 Đố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 |
---|