一个类,包含用于创建 CameraUpdate
对象(可以更改地图镜头)的方法。如需修改地图的相机,请使用通过此类创建的 CameraUpdate
对象调用 animateCamera(CameraUpdate)
、animateCamera(CameraUpdate, GoogleMap.CancelableCallback)
或 moveCamera(CameraUpdate)
。
例如,如需放大地图,您可以使用以下代码:
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
在使用此类中的任何方法之前,您必须执行以下任一操作以确保初始化此类:
- 等待您已添加到应用的
MapFragment
或MapView
中提供GoogleMap
。您可以通过调用getMapAsync()
并等待onMapReady(GoogleMap map)
回调来获取GoogleMap
实例。 - 调用
initialize(Context)
。只要没有抛出GooglePlayServicesNotAvailableException
,此类就会正确初始化。
开发者指南
如需了解详情,请参阅镜头和视图开发者指南。
公共方法摘要
static CameraUpdate | |
static CameraUpdate | |
static CameraUpdate |
newLatLngBounds(LatLngBounds bounds, int width, int height, int padding)
返回
CameraUpdate ,它可转换镜头,以使指定的纬度/经度边界在屏幕上指定尺寸的边界框内以尽可能最高的缩放级别在屏幕上居中显示。 |
static CameraUpdate |
newLatLngBounds(LatLngBounds bounds, int padding)
返回
CameraUpdate ,它可转换镜头,以使指定的纬度/经度边界以尽可能最高的缩放级别在屏幕上居中显示。 |
static CameraUpdate | |
static CameraUpdate |
scrollBy(float xPixel, float yPixel)
返回可在地图上滚动镜头的
CameraUpdate ,从而将视图中心沿 x 和 y 方向移动指定的像素数。 |
static CameraUpdate |
zoomBy(浮点数,点聚焦)
返回用于改变当前镜头视点缩放级别的
CameraUpdate 。 |
static CameraUpdate |
zoomBy(浮点数)
返回用于改变当前镜头视点缩放级别的
CameraUpdate 。 |
static CameraUpdate |
zoomIn()
返回
CameraUpdate ,它通过将视点的高度移到更靠近地球表面的位置来放大地图。 |
static CameraUpdate | |
static CameraUpdate |
zoomTo(浮动缩放)
返回用于将镜头视点移至特定缩放级别的
CameraUpdate 。 |
继承的方法摘要
公共方法
public static CameraUpdate newCameraPosition (CameraPosition cameraPosition)
返回将镜头移至指定 CameraPosition
的 CameraUpdate
。实际上,这会基于 CameraPosition
对象的纬度、经度、缩放级别、方位和倾斜度创建转换。
参数
cameraPosition |
---|
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate newLatLng (LatLng latLng)
返回 CameraUpdate
,它将屏幕中心移动到 LatLng
对象指定的纬度和经度处。这会使相机以 LatLng
对象为中心。
参数
latLng | 包含所需的纬度和经度的 LatLng 对象。 |
---|
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate newLatLngBounds (LatLngBounds bounds, int width, int height, int padding)
返回 CameraUpdate
,它可转换镜头,以使指定的纬度/经度边界在屏幕上指定尺寸的边界框内以尽可能最高的缩放级别在屏幕上居中显示。您可以指定额外的内边距,以进一步限制边界框的大小。返回的 CameraUpdate
的方向角为 0,倾斜度为 0。
与 newLatLngBounds(LatLngBounds, int)
不同,您可以使用此方法返回的 CameraUpdate
在地图的布局阶段之前更改镜头,因为相关参数指定了边界框所需的大小。
参数
bounds | 要放入边界框的区域 |
---|---|
width | 边界框宽度(以像素为单位) |
高度 | 边界框高度(以像素为单位) |
填充 | 边界框的额外大小限制(以像素为单位) |
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate newLatLngBounds (LatLngBounds bounds, int padding)
返回 CameraUpdate
,它可转换镜头,以使指定的纬度/经度边界以尽可能最高的缩放级别在屏幕上居中显示。您可以指定内边距,以便从地图视图的边缘插入边界框。返回的 CameraUpdate
的方向角为 0,倾斜度为 0。
在地图完成布局调整之前,请勿使用此镜头更新更改镜头(为使此方法正确确定适当的边界框和缩放级别,地图必须具有尺寸)。否则,系统会抛出 IllegalStateException
。这还不够,地图才可用;包含地图的视图也必须经过布局调整,以确定其尺寸。如果您不确定是否已经发生这种情况,请改用 newLatLngBounds(LatLngBounds, int, int, int)
并手动提供地图的尺寸。
参数
bounds | 调整至适合屏幕大小的区域 |
---|---|
填充 | 在边界框边缘与视图边缘之间留有空间(以像素为单位)。此值会应用于边界框的所有四面。 |
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate newLatLngZoom (LatLng latLng, float zoom)
返回 CameraUpdate
,它将屏幕中心移动到 LatLng
对象指定的纬度和经度,并移至指定的缩放级别。
参数
latLng | 包含所需的纬度和经度的 LatLng 对象。 |
---|---|
zoom | 所需的缩放级别,在 2.0 到 21.0 之间。低于此范围的值会设为 2.0,高于此范围的值会被设为 21.0。增大该值可放大。并非所有区域都具有最大缩放级别的图块。 |
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate scrollBy (float xPixel, float yPixel)
返回可在地图上滚动镜头的 CameraUpdate
,从而将视图中心沿 x 和 y 方向移动指定的像素数。
示例:
- 如果 xPixel = 5 且 yPixel = 0,系统会通过移动镜头来向右滚动,以使地图看起来向左移动 5 个像素。
- 如果 xPixel = 0 且 yPixel = 5,系统会通过移动镜头向下滚动,使地图看起来向上移动 5 个像素。
滚动方向是相对于镜头当前位置而言的。例如,如果镜头朝向 90 度,则东方“向上”,向右滚动会将镜头向南移动。
参数
xPixel | 要水平滚动的像素数。正值表示镜头相对于其当前方向向右移动。如果设置为负值,则镜头相对于其当前方向向左移动。 |
---|---|
yPixel | 要垂直滚动的像素数。如果值为正值,则相对于镜头当前朝向向下移动镜头。如果设置为负值,则相机相对于其当前方向向上移动。 |
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate zoomBy (浮点数、点对焦)
返回用于改变当前镜头视点缩放级别的 CameraUpdate
。
焦点指定的点将保持固定(即,缩放过程前后均对应于相同的纬度/经度)。
此方法与 zoomTo(float)
不同,因为缩放是相对于当前镜头的。
例如,如果 LatLng
(11.11, 22.22) 当前位于屏幕位置 (23, 45)。使用缩放量和此 LatLng
调用此方法后,此 LatLng
的屏幕位置仍为 (23, 45)。
参数
amount | 以改变缩放级别。正值表示放大范围更接近地球表面,负值表示远离地球表面。 |
---|---|
焦点 | 屏幕上的像素位置,使其在缩放流程完成后会保持固定。镜头移动后,镜头移动前该像素位置的纬度/经度将保持不变。 |
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate zoomBy (浮点数)
返回用于改变当前镜头视点缩放级别的 CameraUpdate
。
此方法与 zoomTo(float)
不同,因为缩放是相对于当前镜头的。
参数
amount | 以改变缩放级别。正值表示放大范围更接近地球表面,负值表示远离地球表面。 |
---|
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate zoomIn ()
返回 CameraUpdate
,它通过将视点的高度移到更靠近地球表面的位置来放大地图。缩放增量为 1.0。
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate zoomOut ()
返回 CameraUpdate
,它通过将视点的高度移到远离地球表面的位置来缩小地图。变焦增量为 -1.0。
返回
- 包含该转换的
CameraUpdate
。
public static CameraUpdate zoomTo (浮动缩放)
返回用于将镜头视点移至特定缩放级别的 CameraUpdate
。
参数
zoom | 所需的缩放级别,在 2.0 到 21.0 之间。低于此范围的值会设为 2.0,高于此范围的值会被设为 21.0。增大该值可放大。并非所有区域都具有最大缩放级别的图块。 |
---|