Một lớp chứa các phương thức để tạo đối tượng CameraUpdate
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 trên 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 tạo:
- Hãy đợi
GoogleMap
có sẵn từMapFragment
hoặcMapView
mà bạn đã thêm vào ứng dụng của mình. Bạn có thể lấy thực thểGoogleMap
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 tạo chính xác.
Hướng dẫn cho nhà phát triển
Để biết thêm thông tin, hãy đọc hướng dẫn cho nhà phát triển về Máy ảnh và Khung hiển thị.
Tóm tắt phương thức công khai
CameraUpdate tĩnh |
newCameraPosition(CameraPosition cameraPosition)
Trả về
CameraUpdate di chuyển máy ảnh đến một CameraPosition được chỉ định. |
CameraUpdate tĩnh |
newLatLng(LatLng latLng)
Trả về
CameraUpdate di chuyển tâm màn hình đến vĩ độ và kinh độ do đối tượng LatLng chỉ định. |
CameraUpdate tĩnh |
newLatLngBounds(giới hạn LatLngBounds, chiều rộng số nguyên, chiều cao số nguyên, khoảng đệm số nguyên)
Trả về một
CameraUpdate giúp biến đổi máy ảnh sao cho các ranh giới vĩ độ/kinh độ đã chỉ định được căn giữa trên màn hình trong một hộp giới hạn có kích thước đã chỉ định ở mức thu phóng lớn nhất có thể. |
CameraUpdate tĩnh |
newLatLngBounds(giới hạn LatLngBounds, khoảng đệm int)
Trả về một
CameraUpdate giúp biến đổi máy ảnh sao cho các giới hạn vĩ độ/kinh độ đã chỉ định được căn giữa trên màn hình ở mức thu phóng lớn nhất có thể. |
CameraUpdate tĩnh |
newLatLngZoom(LatLng latLng, thu phóng nổi)
Trả về
CameraUpdate di chuyển tâm màn hình đến vĩ độ và kinh độ do đối tượng LatLng chỉ định, sau đó di chuyển đến mức thu phóng cho trước. |
CameraUpdate tĩnh |
scrollBy(float xPixel, yPixel nổi)
Trả về
CameraUpdate cuộn máy ảnh trên bản đồ, dịch chuyển tâm chế độ xem theo số lượng pixel được chỉ định theo hướng x và y. |
CameraUpdate tĩnh |
zoomBy(số thực, Tiêu điểm điểm)
Trả về
CameraUpdate thay đổi mức thu phóng của điểm quan sát máy ảnh hiện tại. |
CameraUpdate tĩnh |
zoomBy(số lượng nổi)
Trả về
CameraUpdate thay đổi mức thu phóng của điểm quan sát máy ảnh hiện tại. |
CameraUpdate tĩnh |
Hàm zoomIn()
Trả về
CameraUpdate có tác dụng phóng to bản đồ bằng cách di chuyển chiều cao của điểm quan sát gần hơn với bề mặt Trái Đất. |
CameraUpdate tĩnh |
zoomOut()
Trả về
CameraUpdate có thể thu nhỏ trên bản đồ bằng cách di chuyển chiều cao của điểm quan sát ra xa bề mặt Trái đất. |
CameraUpdate tĩnh |
zoomTo(thu phóng nổi)
Trả về
CameraUpdate di chuyển điểm nhìn của máy ảnh đến một mức thu phóng cụ thể. |
Tóm tắt phương thức kế thừa
Phương thức công khai
công khai tĩnh CameraUpdate newCameraPosition (CameraPosition cameraPosition)
Trả về CameraUpdate
di chuyển máy ảnh đến một CameraPosition
được chỉ định. Trên thực tế, thao tác này sẽ tạo ra một sự biến đổi từ vĩ độ, kinh độ, mức thu phóng, góc phương vị và độ nghiêng của đối tượng CameraPosition
.
Các tham số
cameraPosition |
---|
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate newLatLng (LatLng latLng)
Trả về CameraUpdate
di chuyển tâm màn hình đến vĩ độ và kinh độ do đối tượng LatLng
chỉ định. Thao tác này sẽ căn giữa máy ảnh vào đối tượng LatLng
.
Các tham số
latLng | một đối tượng LatLng có chứa vĩ độ và kinh độ mong muốn. |
---|
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate newLatLngBounds (LatLngBounds, chiều rộng int, chiều cao int, khoảng đệm int)
Trả về một CameraUpdate
giúp biến đổi máy ảnh sao cho các ranh giới vĩ độ/kinh độ đã chỉ định được căn giữa trên màn hình trong một hộp giới hạn 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ế thêm kích thước của hộp giới hạn. CameraUpdate
được trả về có góc phương vị bằng 0 và độ nghiêng bằng 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ố này 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ả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate newLatLngBounds (LatLngBounds, khoảng đệm int)
Trả về một CameraUpdate
giúp biến đổi máy ảnh sao cho các giới hạn vĩ độ/kinh độ đã 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 để lồng ghép hộp giới hạn từ các cạnh của thành phần hiển thị bản đồ. CameraUpdate
được trả về có góc phương vị bằng 0 và độ nghiêng bằng 0.
Đừ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. Bản đồ này KHÔNG đủ khả dụng; khung hiển thị chứa bản đồ cũng phải trải qua bố cục mà kích thước của nó đã được xác định. Nếu bạn không thể chắc chắn rằng điều này đã xảy ra, hãy 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 trống (tính bằng px) để chừa giữa các cạnh hộp giới hạn và các cạnh của 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ả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate newLatLngZoom (LatLng latLng, thu phóng nổi)
Trả về CameraUpdate
di chuyển tâm màn hình đến vĩ độ và kinh độ do đối tượng LatLng
chỉ định, sau đó di chuyển đến mức thu phóng cho trước.
Các tham số
latLng | một đối tượng LatLng có chứa vĩ độ và kinh độ mong muốn. |
---|---|
thu phóng | mức thu phóng mong muốn, trong khoảng từ 2,0 đến 21,0. Các giá trị bên 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. Hãy tăng giá trị này để phóng to. Không phải khu vực nào cũng có ô ở mức thu phóng lớn nhất. |
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate scrollBy (float xPixel, float yPixel)
Trả về CameraUpdate
cuộn máy ảnh trên bản đồ, dịch chuyển tâm chế độ xem theo số lượng pixel được chỉ định theo hướng x và y.
Ví dụ:
- Nếu xPixel = 5 và yPixel = 0, hệ thống sẽ cuộn sang phải bằng cách di chuyển máy ảnh để bản đồ có vẻ như đã dịch chuyển 5 pixel sang trái.
- Nếu xPixel = 0 và yPixel = 5, hệ thống sẽ cuộn xuống bằng cách di chuyển máy ảnh để bản đồ dường như đã dịch chuyển lên trên 5 pixel.
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 xoay 90 độ, thì hướng đông là "hướng lên" và cuộ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. Một giá trị dương sẽ di chuyển máy ảnh sang phải, so với hướng hiện tại của máy ảnh. Một giá trị âm sẽ di chuyển máy ảnh sang trái, so với hướng hiện tại của máy ảnh. |
---|---|
yPixel | số pixel cần cuộn theo chiều dọc. Một giá trị dương sẽ di chuyển máy ảnh xuống dưới so với hướng hiện tại của máy ảnh. Một giá trị âm sẽ di chuyển máy ảnh lên trên so với hướng hiện tại của máy ảnh. |
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate zoomBy (số lượng nổi, Tiêu điểm điểm)
Trả về 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ẽ duy trì ở trạng thái 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)
ở chỗ mức thu phóng tương ứng với máy ảnh hiện tại.
Ví dụ: nếu LatLng
(11.11, 22.22) đang ở vị trí màn hình (23, 45). Sau khi gọi phương thức này với mức thu phóng và LatLng
này, vị trí màn hình của LatLng
này vẫn sẽ là (23, 45).
Các tham số
amount | số lượng để thay đổi mức thu phóng. Giá trị dương biểu thị thao tác phóng to đến gần bề mặt Trái Đất hơn, trong khi giá trị âm biểu thị thao tác phóng to ra xa bề mặt Trái Đất. |
---|---|
tiêu điểm | vị trí pixel trên màn hình (được giữ cố định sau quá trình thu phóng). Vĩ độ/kinh độ tại vị trí pixel đó trước khi máy ảnh di chuyển sẽ giữ nguyên sau khi máy ảnh di chuyển. |
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate zoomBy (số tiền nổi)
Trả về 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)
ở chỗ mức thu phóng tương ứng với máy ảnh hiện tại.
Các tham số
amount | số lượng để thay đổi mức thu phóng. Giá trị dương biểu thị thao tác phóng to đến gần bề mặt Trái Đất hơn, trong khi giá trị âm biểu thị thao tác phóng to ra xa bề mặt Trái Đất. |
---|
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate zoomIn ()
Trả về CameraUpdate
có tác dụng phóng to bản đồ bằng cách di chuyển chiều cao của điểm quan sát gần hơn với bề mặt Trái Đất. Mức tăng thu phóng là 1,0.
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate zoomOut ()
Trả về CameraUpdate
có thể thu nhỏ trên bản đồ bằng cách di chuyển chiều cao của điểm quan sát ra xa bề mặt Trái đất. Mức tăng thu phóng là -1.0.
Trả bóng
CameraUpdate
chứa phép biến đổi.
công khai tĩnh CameraUpdate zoomTo (thu phóng nổi)
Trả về CameraUpdate
di chuyển điểm nhìn của máy ảnh đến một mức thu phóng cụ thể.
Các tham số
thu phóng | mức thu phóng mong muốn, trong khoảng từ 2,0 đến 21,0. Các giá trị bên 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. Hãy tăng giá trị này để phóng to. Không phải khu vực nào cũng có ô ở mức thu phóng lớn nhất. |
---|