Một lớp (class) chứa các phương thức để tạo đối tượng CameraUpdate
có thể thay đổi máy ảnh của bản đồ.
Để sửa đổi máy ảnh của bản đồ, hãy gọi animateCamera(CameraUpdate)
, animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
hoặc moveCamera(CameraUpdate)
bằng cách sử dụng đối tượng CameraUpdate
được tạo bằng lớp này.
Ví dụ: để phóng to một bản đồ, bạn có thể sử dụng mã sau:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
Trước khi sử dụng bất kỳ phương thức nào từ lớp này, bạn phải thực hiện một trong những thao tác sau để đảm bảo rằng lớp này đã được khởi chạy:
- Đợi
GoogleMap
hiển thị từMapFragment
hoặcMapView
mà bạn đã thêm vào ứng dụng. Bạn có thể lấy phiên bản thể hiệnGoogleMap
bằng cách gọigetMapAsync()
và đợi lệnh gọi lạionMapReady(GoogleMap map)
. - Gọi cho
initialize(Context)
. Chỉ cầnGooglePlayServicesNotAvailableException
không được gửi, lớp này sẽ được khởi chạy đúng cách.
Hướng dẫn cho nhà phát triển
Để biết thêm thông tin, hãy đọc hướng dẫn dành cho nhà phát triển về Máy ảnh và chế độ xem.
Tóm tắt phương pháp công khai
tĩnh CameraUpdate |
newCameraPosition(CameraPosition cameraPosition)
Trả về một
CameraUpdate dùng để chuyển máy ảnh sang CameraPosition được chỉ định. |
tĩnh CameraUpdate |
newLatLng(LatLng latLng)
Trả về một
CameraUpdate di chuyển tâm màn hình đến một vĩ độ và kinh độ do đối tượng LatLng chỉ định. |
tĩnh CameraUpdate |
newLatLngBounds(LatLngBounds giới hạn, chiều rộng int, chiều cao int, khoảng đệm int)
Trả về một
CameraUpdate chuyển đổi máy ảnh sao cho các ranh giới
vĩ độ/kinh độ được chỉ định được căn giữa trên màn hình trong hộp giới hạn các kích thước đã chỉ định
ở mức thu phóng lớn nhất có thể. |
tĩnh CameraUpdate |
newLatLngBounds(LatLngBounds giới hạn, khoảng đệm int)
Trả về một
CameraUpdate chuyển đổi máy ảnh sao cho các ranh giới
vĩ độ/kinh độ được chỉ định được căn giữa trên màn hình ở mức thu phóng lớn nhất có thể. |
tĩnh CameraUpdate |
newLatLngZoom(LatLng latLng, thu phóng nổi)
Trả về một
CameraUpdate di chuyển tâm màn hình đến một vĩ độ và kinh độ do đối tượng LatLng chỉ định và chuyển sang mức thu phóng nhất định. |
tĩnh CameraUpdate |
scrollBy(float xPixel, yPixel nổi)
Trả về một
CameraUpdate cuộn máy ảnh lên bản đồ, dịch chuyển trung tâm chế độ xem theo số pixel được chỉ định theo hướng x và y. |
tĩnh CameraUpdate |
zoomBy(số tiền nổi, Tiêu điểm)
Trả về một
CameraUpdate thay đổi mức thu phóng của điểm quan sát máy ảnh hiện tại. |
tĩnh CameraUpdate |
zoomBy(số tiền nổi)
Trả về một
CameraUpdate thay đổi mức thu phóng của điểm quan sát máy ảnh hiện tại. |
tĩnh CameraUpdate |
zoomIn()
Trả về một
CameraUpdate phóng to bản đồ bằng cách di chuyển chiều cao của điểm quan sát đến gần bề mặt Trái Đất hơn. |
tĩnh CameraUpdate |
zoomOut()
Trả về một
CameraUpdate thu nhỏ trên bản đồ bằng cách di chuyển chiều cao của điểm nhìn ra xa bề mặt Trái Đất. |
tĩnh CameraUpdate |
zoomTo(thu phóng nổi)
Trả về một
CameraUpdate di chuyển điểm quan sát trên máy ảnh sang một mức thu phóng cụ thể. |
Tóm tắt phương pháp kế thừa
Phương thức công khai
public static CameraUpdate newCameraPosition (CameraPosition cameraPosition)
Trả về một CameraUpdate
dùng để chuyển máy ảnh sang CameraPosition
được chỉ định. Kết quả này là biến đổi từ vĩ độ, kinh độ, mức thu phóng, đối tượng và độ nghiêng của đối tượng CameraPosition
.
Các tham số
vị trí camera |
---|
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate newLatLng (LatLng vĩ độ)
Trả về một CameraUpdate
di chuyển tâm màn hình đến một vĩ độ và kinh độ do đối tượng LatLng
chỉ định. Thao tác này sẽ căn giữa máy ảnh trên đối tượng LatLng
.
Các tham số
vĩ độ kinh độ | đối tượng LatLng chứa vĩ độ và kinh độ mong muốn. |
---|
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate newLatLngBounds (LatLngBounds ranh giới, int width, int height, int padding)
Trả về một CameraUpdate
chuyển đổi máy ảnh sao cho các ranh giới
vĩ độ/kinh độ được chỉ định được căn giữa trên màn hình trong hộp giới hạn các kích thước đã chỉ định
ở mức thu phóng lớn nhất có thể. Bạn có thể chỉ định khoảng đệm bổ sung để hạn chế hơn nữa kích thước của hộp bao quanh. CameraUpdate
được trả về có góc phương vị là 0 và độ nghiêng là 0.
Không giống như newLatLngBounds(LatLngBounds, int)
, bạn có thể sử dụng CameraUpdate
mà phương thức này trả về để thay đổi máy ảnh trước giai đoạn bố cục của bản đồ, vì
các đối số chỉ định kích thước mong muốn của hộp giới hạn.
Các tham số
ranh giới | vùng vừa với hộp giới hạn |
---|---|
chiều rộng | chiều rộng hộp giới hạn tính bằng pixel (px) |
độ cao | chiều cao hộp giới hạn tính bằng pixel (px) |
padding | giới hạn kích thước bổ sung (tính bằng px) của hộp giới hạn |
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate newLatLngBounds (LatLngBounds ranh giới, int padding)
Trả về một CameraUpdate
chuyển đổi máy ảnh sao cho các ranh giới
vĩ độ/kinh độ được chỉ định được căn giữa trên màn hình ở mức thu phóng lớn nhất có thể. Bạn có thể chỉ định khoảng đệm để đặt hộp giới hạn từ các cạnh của chế độ xem bản đồ. CameraUpdate
được trả về có góc phương vị là 0 và độ nghiêng là 0.
Không thay đổi máy ảnh bằng bản cập nhật máy ảnh này cho đến khi bản đồ đã trải qua bố cục (để phương thức này xác định chính xác hộp giới hạn và mức thu phóng thích hợp, bản đồ phải có kích thước). Nếu không, IllegalStateException
sẽ được gửi đi. Bản đồ này KHÔNG đủ để có thể sử dụng; thành phần hiển thị chứa bản đồ cũng phải trải qua bố cục để được xác định kích thước. Nếu bạn không thể chắc chắn rằng điều này đã xảy ra, hãy sử dụng newLatLngBounds(LatLngBounds, int, int, int)
và cung cấp kích thước của bản đồ theo cách thủ công.
Các tham số
ranh giới | vùng vừa với màn hình |
---|---|
padding | khoảng cách (tính bằng px) để để giữa cạnh hộp giới hạn và cạnh chế độ xem. Giá trị này được áp dụng cho cả bốn cạnh của hộp giới hạn. |
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate newLatLngZoom (LatLng latLng, độ chính xác thu phóng)
Trả về một CameraUpdate
di chuyển tâm màn hình đến một vĩ độ và kinh độ do đối tượng LatLng
chỉ định và chuyển sang mức thu phóng nhất định.
Các tham số
vĩ độ kinh độ | đối tượng LatLng chứa vĩ độ và kinh độ mong muốn. |
---|---|
zoom | mức thu phóng mong muốn, trong khoảng từ 2 đến 21.0. Các giá trị dưới phạm vi này được đặt thành 2.0 và các giá trị trên phạm vi này được đặt thành 21.0. Tăng giá trị để phóng to. Không phải mọi khu vực đều có ô ở mức thu phóng lớn nhất. |
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate scrollBy (float xPixel, float yPixel)
Trả về một CameraUpdate
cuộn máy ảnh lên bản đồ, dịch chuyển trung tâm chế độ xem theo số pixel được chỉ định theo hướng x và y.
Ví dụ:
- Nếu xPixel = 5 và yPixel = 0, hệ thống sẽ di chuyển sang phải bằng cách di chuyển máy ảnh sao cho bản đồ dường như đã dịch chuyển 5 pixel sang trái.
- Nếu xPixel = 0 và yPixel = 5, hệ thống sẽ di chuyển xuống bằng cách di chuyển máy ảnh sao cho bản đồ dường như đã dịch chuyển 5 pixel lên trên.
Thao tác cuộn tương ứng với hướng hiện tại của máy ảnh. Ví dụ: nếu máy ảnh đang xoay 90 độ thì phía đông sẽ là "up" và việc di chuyển sang phải sẽ di chuyển máy ảnh về phía nam.
Các tham số
xPixel | số pixel cần cuộn theo chiều ngang. Giá trị dương di chuyển máy ảnh sang phải, so với hướng hiện tại của máy ảnh. Giá trị âm di chuyển máy ảnh sang bên trái về hướng hiện tại của máy ảnh. |
---|---|
yPixel | số pixel cần cuộn theo chiều dọc. Giá trị dương di chuyển máy ảnh xuống dưới, theo hướng hiện tại của máy ảnh. Giá trị âm di chuyển máy ảnh lên trên, theo hướng hiện tại của máy ảnh. |
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate zoomBy (số tiền nổi, Tiêu điểm)
Trả về một CameraUpdate
thay đổi mức thu phóng của điểm quan sát máy ảnh hiện tại.
Một điểm được chỉ định theo tiêu điểm sẽ vẫn cố định (tức là điểm này tương ứng với cùng một vĩ độ/kinh độ cả trước và sau quá trình thu phóng).
Phương thức này khác với zoomTo(float)
trong thao tác thu phóng đó so với máy ảnh hiện tại.
Ví dụ: nếu LatLng
(11.11, 22.22) hiện đang ở vị trí màn hình (23,
45). Sau khi gọi phương thức này bằng số lượng thu phóng và LatLng
này, vị trí màn hình của LatLng
này sẽ vẫn là (23, 45).
Các tham số
amount | để thay đổi mức thu phóng. Các giá trị âm cho biết mức thu phóng gần với bề mặt Trái đất hơn trong khi các giá trị âm cho biết mức phóng to từ bề mặt Trái đất. |
---|---|
tiêu điểm | vị trí pixel trên màn hình vẫn cố định sau quá trình thu phóng. Vĩ độ/kinh độ ở vị trí pixel đó trước khi di chuyển máy ảnh sẽ giữ nguyên sau khi máy ảnh di chuyển. |
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate zoomBy (số tiền nổi)
Trả về một CameraUpdate
thay đổi mức thu phóng của điểm quan sát máy ảnh hiện tại.
Phương thức này khác với zoomTo(float)
trong thao tác thu phóng đó so với máy ảnh hiện tại.
Các tham số
amount | để thay đổi mức thu phóng. Các giá trị âm cho biết mức thu phóng gần với bề mặt Trái đất hơn trong khi các giá trị âm cho biết mức phóng to từ bề mặt Trái đất. |
---|
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate zoomIn ()
Trả về một CameraUpdate
phóng to bản đồ bằng cách di chuyển chiều cao của điểm quan sát đến gần bề mặt Trái Đất hơn. Mức tăng thu phóng là 1,0.
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate zoomOut ()
Trả về một CameraUpdate
thu nhỏ trên bản đồ bằng cách di chuyển chiều cao của điểm nhìn ra xa bề mặt Trái Đất. Mức tăng thu phóng là -1.0.
Trả về
CameraUpdate
chứa phép biến đổi.
public static CameraUpdate zoomTo (thu phóng nổi)
Trả về một CameraUpdate
di chuyển điểm quan sát trên máy ảnh sang một mức thu phóng cụ thể.
Các tham số
zoom | mức thu phóng mong muốn, trong khoảng từ 2 đến 21.0. Các giá trị dưới phạm vi này được đặt thành 2.0 và các giá trị trên phạm vi này được đặt thành 21.0. Tăng giá trị để phóng to. Không phải mọi khu vực đều có ô ở mức thu phóng lớn nhất. |
---|