com.tencent.tencentmap.mapsdk.maps

## 类 CameraUpdateFactory

- java.lang.Object
- - com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory

-     public final class CameraUpdateFactory
      extends java.lang.Object

  生成地图状态将要发生的变化，主要通过不同的参数生成不同的`CameraUpdate`来进行。 主要有以下几个方法来执行：

  `TencentMap.animateCamera(CameraUpdate)`

  `TencentMap.animateCamera(CameraUpdate, com.tencent.tencentmap.mapsdk.maps.TencentMap.CancelableCallback)`

  `TencentMap.animateCamera(CameraUpdate, long, com.tencent.tencentmap.mapsdk.maps.TencentMap.CancelableCallback)`

  `TencentMap.moveCamera(CameraUpdate)`

- - ### 方法概要

    所有方法 静态方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `static CameraUpdate` | `newCameraPosition(CameraPosition cameraposition)` 由一个`CameraPosition`来生成新的状态变化对象
    `static CameraUpdate` | `newLatLng(LatLng latlng)` 生成一个把地图移动到指定的经纬度到屏幕中心的状态变化对象
    `static CameraUpdate` | `newLatLngBounds(LatLngBounds latlngbounds, int padding)` 把地图移到到以指定的经纬度范围的，并且在这个范围四周加上padding像素的填充。
    `static CameraUpdate` | `newLatLngBoundsRect(LatLngBounds latlngbounds, int leftPadding, int rightPadding, int topPadding, int bottomPadding)` 把地图移动到指定经纬度范围，以适应当前屏幕的显示，并且可以为上下左右分别设置填充的像素
    `static CameraUpdate` | `newLatLngBoundsWithMapCenter(LatLngBounds latLngBounds, LatLng mapCenter, int padding)` 以mapCenter为中心，将latLngBounds对应的区域刚好缩放到可视区域内，并且在这个范围四周加上padding像素填充
    `static CameraUpdate` | `newLatLngZoom(LatLng latlng, float zoom)` 把地图以latlng为中心，以zoom为缩放级别，移到屏幕中心
    `static CameraUpdate` | `rotateTo(float rotate, float skew)` 将地图顺时针旋转rotate度，并且向后倾斜skew度
    `static CameraUpdate` | `scrollBy(float xPixel, float yPixel)` 将地图向左下移动xPixel和yPexil像素
    `static CameraUpdate` | `zoomBy(float zoomLevelDelta)` 在当前的缩放级别下，把缩放级别变化zoomLevelDelta，如果超出了范围，则停止在范围内
    `static CameraUpdate` | `zoomBy(float zoomLevelDelta, android.graphics.Point point)` 在当前的缩放级别下，把缩放级别变化zoomLevelDelta，如果超出了范围，则停止在范围内 注：因为依赖于MapView的尺寸，所以在onCreate中直接调用会有问题，可以放在OnMapLoadedCallback中调用
    `static CameraUpdate` | `zoomIn()` 把地图放大一级 注：执行放zoomIn操作需要获取当前地图状态，如果必须要在onCreate中调用，需要放在OnMapLoadedCallback中执行。
    `static CameraUpdate` | `zoomOut()` 把地图缩小一级 注：执行放zoomOut操作需要获取当前地图状态，如果必须要在onCreate中调用，需要放在OnMapLoadedCallback中执行。
    `static CameraUpdate` | `zoomTo(float zoomLevel)` 把地图缩放到目标级别

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 方法详细资料

    - #### zoomIn

          public static CameraUpdate zoomIn()

      把地图放大一级 注：执行放zoomIn操作需要获取当前地图状态，如果必须要在onCreate中调用，需要放在OnMapLoadedCallback中执行。
      返回:
        新的`CameraUpdate`对象

    - #### zoomOut

          public static CameraUpdate zoomOut()

      把地图缩小一级 注：执行放zoomOut操作需要获取当前地图状态，如果必须要在onCreate中调用，需要放在OnMapLoadedCallback中执行。
      返回:
        新的`CameraUpdate`对象

    - #### scrollBy

          public static CameraUpdate scrollBy(float xPixel,
                                              float yPixel)

      将地图向左下移动xPixel和yPexil像素
      参数:
        `xPixel` - 向右移动的像素
        `yPixel` - 向下移动的像素
      返回:
        新的`CameraUpdate`对象

    - #### zoomTo

          public static CameraUpdate zoomTo(float zoomLevel)

      把地图缩放到目标级别
      参数:
        `zoomLevel` - 目标指定级别， 取值范围为 [4.0 ~ 20.0]
      返回:
        新的`CameraUpdate`对象

    - #### zoomBy

          public static CameraUpdate zoomBy(float zoomLevelDelta)

      在当前的缩放级别下，把缩放级别变化zoomLevelDelta，如果超出了范围，则停止在范围内
      参数:
        `zoomLevelDelta` - 要变化的级别数值
      返回:
        新的`CameraUpdate`对象

    - #### zoomBy

          public static CameraUpdate zoomBy(float zoomLevelDelta,
                                            android.graphics.Point point)

      在当前的缩放级别下，把缩放级别变化zoomLevelDelta，如果超出了范围，则停止在范围内 注：因为依赖于MapView的尺寸，所以在onCreate中直接调用会有问题，可以放在OnMapLoadedCallback中调用
      参数:
        `zoomLevelDelta` - 要变化的级别数值
        `point` - 当前地图所处的地图点，移动后屏幕处于中心点
      返回:
        新的`CameraUpdate`对象

    - #### newCameraPosition

          public static CameraUpdate newCameraPosition(CameraPosition cameraposition)

      由一个`CameraPosition`来生成新的状态变化对象
      参数:
        `cameraposition` - 地图状态
      返回:
        新的`CameraUpdate`对象

    - #### newLatLng

          public static CameraUpdate newLatLng(LatLng latlng)

      生成一个把地图移动到指定的经纬度到屏幕中心的状态变化对象
      参数:
        `latlng` - 目标经纬度
      返回:
        新的`CameraUpdate`对象

    - #### newLatLngZoom

          public static CameraUpdate newLatLngZoom(LatLng latlng,
                                                   float zoom)

      把地图以latlng为中心，以zoom为缩放级别，移到屏幕中心
      参数:
        `latlng` - 目标经纬度
        `zoom` - 新的指定级别， 取值范围为 [3.0 ~ 19.0]
      返回:
        新的`CameraUpdate`对象

    - #### newLatLngBounds

          public static CameraUpdate newLatLngBounds(LatLngBounds latlngbounds,
                                                     int padding)

      把地图移到到以指定的经纬度范围的，并且在这个范围四周加上padding像素的填充。 需要注意的是，sdk 内部的计算是在`CameraPosition.bearing` 和 `CameraPosition.tilt` 都为 0 时得到的计算结果， 用户如果需要地图完全展示 latlngbounds，也需要将地图的 `CameraPosition.bearing` 和 `CameraPosition.tilt` 都置为 0。
      参数:
        `latlngbounds` - 经纬度范围 `LatLngBounds`
        `padding` - 四周填充的像素
      返回:
        新的`CameraUpdate`对象

    - #### newLatLngBoundsRect

          public static CameraUpdate newLatLngBoundsRect(LatLngBounds latlngbounds,
                                                         int leftPadding,
                                                         int rightPadding,
                                                         int topPadding,
                                                         int bottomPadding)

      把地图移动到指定经纬度范围，以适应当前屏幕的显示，并且可以为上下左右分别设置填充的像素
      参数:
        `latlngbounds` - 经纬度范围
        `leftPadding` - 左侧填充像素
        `rightPadding` - 右侧填充像素
        `topPadding` - 顶部填充像素
        `bottomPadding` - 底部填充像素
      返回:
        新的`CameraUpdate`对象

    - #### rotateTo

          public static CameraUpdate rotateTo(float rotate,
                                              float skew)

      将地图顺时针旋转rotate度，并且向后倾斜skew度
      参数:
        `rotate` - 要旋转的度数
        `skew` - 倾斜角度 取值为 [0.0 ~ 45.0]
      返回:
        新的`CameraUpdate`对象

    - #### newLatLngBoundsWithMapCenter

          public static CameraUpdate newLatLngBoundsWithMapCenter(LatLngBounds latLngBounds,
                                                                  LatLng mapCenter,
                                                                  int padding)

      以mapCenter为中心，将latLngBounds对应的区域刚好缩放到可视区域内，并且在这个范围四周加上padding像素填充
      参数:
        `latLngBounds` - 根据经纬度序列得到的区域 Bound
        `mapCenter` - 变换视野后期望的地图视野中心
        `padding` - 四周填边，单位px
      返回: