com.amap.api.maps2d

## 类 AMap

- java.lang.Object
- - com.amap.api.maps2d.AMap

-     public final class AMap
      extends java.lang.Object

  定义AMap 地图对象的操作方法与接口。
  从以下版本开始:
    V2.0

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `static interface` | `AMap.CancelableCallback` 当一个任务完成或关闭时的回调接口
    `static interface` | `AMap.InfoWindowAdapter` 提供了一个可个性化定制的信息窗口视图的类。
    `static interface` | `AMap.OnCacheRemoveListener` 缓存数据清除监听
    `static interface` | `AMap.OnCameraChangeListener` 定义了当可视范围改变时回调的接口。
    `static interface` | `AMap.OnInfoWindowClickListener` 信息窗口点击事件的回调接口。
    `static interface` | `AMap.OnMapClickListener` 当用户点击地图时回调的接口。
    `static interface` | `AMap.OnMapLoadedListener` 当地图载入成功后回调的接口。
    `static interface` | `AMap.OnMapLongClickListener` 当用户长按地图时回调的接口。
    `static interface` | `AMap.OnMapScreenShotListener` 截屏时回调的接口 。
    `static interface` | `AMap.OnMapTouchListener` 当用户触摸地图时回调的接口。
    `static interface` | `AMap.OnMarkerClickListener` 定义了当marker 对象被点击时回调的接口。
    `static interface` | `AMap.OnMarkerDragListener` marker拖动时的回调接口
    `static interface` | `AMap.OnMyLocationChangeListener` 当用户位置改变时回调的方法类。

  - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static java.lang.String` | `CHINESE` 中文
    `static java.lang.String` | `ENGLISH` 英文
    `static int` | `MAP_TYPE_NORMAL` 标准底图。
    `static int` | `MAP_TYPE_SATELLITE` 卫星底图。

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `Circle` | `addCircle(CircleOptions options)` 添加圆形（circle）覆盖物到地图上。
    `GroundOverlay` | `addGroundOverlay(GroundOverlayOptions options)` 添加一张图片在地图上。
    `Marker` | `addMarker(MarkerOptions options)` 加一个Marker（标记）到地图上。
    `Polygon` | `addPolygon(PolygonOptions options)` 在地图上添加一个多边形（polygon）对象
    `Polyline` | `addPolyline(PolylineOptions options)` 加一个多段线对象（Polyline）对象在地图上。
    `Text` | `addText(TextOptions textOptions)` 加一个文字（Text）到地图上
    `TileOverlay` | `addTileOverlay(TileOverlayOptions options)` 添加一个TileOverlay到地图上
    `void` | `animateCamera(CameraUpdate update)` 可视区域动画是指从当前可视区域转换到一个指定位置的可视区域的过程。
    `void` | `animateCamera(CameraUpdate update, AMap.CancelableCallback cancelableCallback)` 可视区域动画是指从当前可视区域转换到一个指定位置的可视区域的过程，在转换完成后， 将回调转入的AMap.CancelableCallback接口。
    `void` | `animateCamera(CameraUpdate update, long durationMs, AMap.CancelableCallback cancelableCallback)` 在指定的持续时间内，动画地移动地图到指定的位置，完成时调用可选的回调方法。
    `void` | `clear()` 从地图上删除所有的Marker，Overlay，Polyline 等覆盖物。
    `CameraPosition` | `getCameraPosition()` 返回可视区域的当前位置（包含中心点坐标、缩放级别）。
    `java.util.List<Marker>` | `getMapScreenMarkers()` 获取当前可见地图区域的所有marker
    `void` | `getMapScreenShot(AMap.OnMapScreenShotListener listener)` 截取当前屏幕设备上的可见地图区域。
    `int` | `getMapType()` 返回当前的地图显示类型。
    `float` | `getMaxZoomLevel()` 返回当前可视区域的最大缩放级别。
    `float` | `getMinZoomLevel()` 返回当前可视区域的最小缩放级别。
    `Location` | `getMyLocation()` 返回当前Location Source 提供的定位信息。
    `Projection` | `getProjection()` 返回一个Projection 对象。
    `float` | `getScalePerPixel()` 获取比例尺数据。
    `UiSettings` | `getUiSettings()` 返回地图的用户界面设置对象。
    `static java.lang.String` | `getVersion()` 已过时。 2.2.1 获取版本号信息
    `void` | `invalidate()` 刷新地图
    `boolean` | `isMyLocationEnabled()` 返回my-location 层的显示状态。
    `boolean` | `isTrafficEnabled()` 返回当前地图是否有实时交通数据。
    `void` | `moveCamera(CameraUpdate update)` 按照传入的CameraUpdate 参数移动可视区域。
    `void` | `postInvalidate()` 刷新地图
    `void` | `removecache()` 清除地图缓存文件，没有回调
    `void` | `removecache(AMap.OnCacheRemoveListener onCacheRemoveListener)` 回调清除地图缓存文件
    `void` | `setInfoWindowAdapter(AMap.InfoWindowAdapter adapter)` 设置一个个性化渲染的内容的信息窗口。
    `void` | `setLocationSource(LocationSource locationSource)` 设置定位资源。
    `void` | `setMapLanguage(java.lang.String language)` 设置地图底图语言，目前支持中文底图和英文底图
    `void` | `setMapType(int type)` 设置地图显示的类型。
    `void` | `setMyLocationEnabled(boolean enabled)` 设置定位层是否显示。
    `void` | `setMyLocationRotateAngle(float rotate)` 设置定位图片旋转的角度，从正北开始，逆时针计算。
    `void` | `setMyLocationStyle(MyLocationStyle style)` 设置定位（当前位置）的绘制样式。
    `void` | `setOnCameraChangeListener(AMap.OnCameraChangeListener listener)` 设置一个可视范围变化时的回调的接口方法。
    `void` | `setOnInfoWindowClickListener(AMap.OnInfoWindowClickListener listener)` 设置当消息窗口Marker 被点击时的回调方法。
    `void` | `setOnMapClickListener(AMap.OnMapClickListener listener)` 设置一个当地图被点击时的回调方法。
    `void` | `setOnMapLoadedListener(AMap.OnMapLoadedListener listener)` 设置地图载入成功回调的方法。
    `void` | `setOnMapLongClickListener(AMap.OnMapLongClickListener listener)` 设置一个当长按地图时的回调方法。
    `void` | `setOnMapTouchListener(AMap.OnMapTouchListener listener)` 设置一个当地图被触摸时的回调方法。
    `void` | `setOnMarkerClickListener(AMap.OnMarkerClickListener listener)` 设置一个当地图上的Marker 被点击的回调方法。
    `void` | `setOnMarkerDragListener(AMap.OnMarkerDragListener listener)` 设置一个当地图上的Marker被拖拽的回调方法
    `void` | `setOnMyLocationChangeListener(AMap.OnMyLocationChangeListener listener)` 设置当用户位置改变后的回调方法。
    `void` | `setTrafficEnabled(boolean enabled)` 设置是否显示交通。
    `void` | `stopAnimation()` 停止动画效果。

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

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

- - ### 字段详细资料

    - #### MAP_TYPE_NORMAL

          public static final int MAP_TYPE_NORMAL

      标准底图。
      另请参阅:
        常量字段值

    - #### MAP_TYPE_SATELLITE

          public static final int MAP_TYPE_SATELLITE

      卫星底图。
      另请参阅:
        常量字段值

    - #### CHINESE

          public static final java.lang.String CHINESE

      中文
      另请参阅:
        常量字段值

    - #### ENGLISH

          public static final java.lang.String ENGLISH

      英文
      另请参阅:
        常量字段值

  - ### 方法详细资料

    - #### getCameraPosition

          public final CameraPosition getCameraPosition()

      返回可视区域的当前位置（包含中心点坐标、缩放级别）。在可视区域变换时，此返回会自己更新。
      返回:
        返回可视区域的当前位置的CameraPosition 对象。
      从以下版本开始:
        V2.0

    - #### getMaxZoomLevel

          public final float getMaxZoomLevel()

      返回当前可视区域的最大缩放级别。
      返回:
        当前可视区域的最大缩放级别。
      从以下版本开始:
        V2.0

    - #### getMinZoomLevel

          public final float getMinZoomLevel()

      返回当前可视区域的最小缩放级别。可能在不同设备上返回有区别。
      返回:
        当前可视区域的最小缩放级别。
      从以下版本开始:
        V2.0

    - #### moveCamera

          public final void moveCamera(CameraUpdate update)

      按照传入的CameraUpdate 参数移动可视区域。这个方法为瞬间移动，没有移动过程，如果在调用此方法后在回调方法onCameraChangeFinish()中调用getCameraPosition()将返回移动后位置。
      参数:
        `update` - 定义转换的目的地位置。
      从以下版本开始:
        V2.0

    - #### animateCamera

          public final void animateCamera(CameraUpdate update)

      可视区域动画是指从当前可视区域转换到一个指定位置的可视区域的过程。 在运动的时候，调用getCameraPosition()返回可视区域当前位置。
      参数:
        `update` - 定义转换的目的地位置
      从以下版本开始:
        V2.0.1

    - #### animateCamera

          public final void animateCamera(CameraUpdate update,
                                          AMap.CancelableCallback cancelableCallback)

      可视区域动画是指从当前可视区域转换到一个指定位置的可视区域的过程，在转换完成后， 将回调转入的AMap.CancelableCallback接口。 可以参考CameraUpdateFactory来设置AMap.CancelableCallback对象。
      参数:
        `update` - 定义转换的目的地位置
        `cancelableCallback` - 这个类是在动画停止时从主线程回调。 如果动画正常完成，则会调用onFinish()方法，否则调用onCancel()。 调用onCancel()时，不要变换或运动可视区域。
      从以下版本开始:
        V2.0.1

    - #### animateCamera

          public final void animateCamera(CameraUpdate update,
                                          long durationMs,
                                          AMap.CancelableCallback cancelableCallback)

      在指定的持续时间内，动画地移动地图到指定的位置，完成时调用可选的回调方法。 如果运动过程中调用getCameraPosition()，它将返回可视区域飞行中的当前位置。
      参数:
        `update` - 定义转换的目的地位置
        `durationMs` - 运动的持续时间，单位毫秒。必须是正数，否则将会抛出IllegalArgumentException异常。
        `cancelableCallback` - 这个类是在动画停止时从主线程回调。如果动画正常完成，则会调用onFinish()方法； 如果因为随后的可视区域移动或用户手势而动画停止，调用onCancel()。 取消的方法，这个自定义的类不会尝试移动或动画地移动可视区域
      从以下版本开始:
        V2.0.1

    - #### stopAnimation

          public final void stopAnimation()

      停止动画效果。当方法被调用，可视区域立即停止运动并停留在此位置。
      从以下版本开始:
        V2.0.1

    - #### addPolyline

          public final Polyline addPolyline(PolylineOptions options)

      加一个多段线对象（Polyline）对象在地图上。
      参数:
        `options` - 一个PolylineOptions 对象，它定义了如何渲染Polyline 的属性。
      返回:
        返回一个 Polyline 对象，此对象已经加到地图上。
      从以下版本开始:
        V2.0

    - #### addText

          public final Text addText(TextOptions textOptions)

      加一个文字（Text）到地图上
      参数:
        `textOptions` - TextOptions 对象，它定义了如何渲染Text 的属性
      从以下版本开始:
        V2.8.1

    - #### addCircle

          public final Circle addCircle(CircleOptions options)

      添加圆形（circle）覆盖物到地图上。
      参数:
        `options` - 设置圆形初始化属性的CircleOptions对象。
      返回:
        一个Circle对象。
      从以下版本开始:
        V2.0

    - #### addPolygon

          public final Polygon addPolygon(PolygonOptions options)

      在地图上添加一个多边形（polygon）对象
      参数:
        `options` - 一个PolygonOptions 对象，它定义了如何渲染Polygon 的属性
      返回:
        返回一个 Polygon 对象，此对象已经加到地图上。
      从以下版本开始:
        V2.0

    - #### addMarker

          public final Marker addMarker(MarkerOptions options)

      加一个Marker（标记）到地图上。

      Marker 的图标会根据Marker.position 位置渲染在地图上。点击这个Marker，可视区域将以这个Marker 的位置为中心点。如果Marker 设置了title，则地图上会显示一个包括title 文字的信息框。如果Marker 被设置为可拖拽的，那么长按此Marker 可以拖动它。

      参数:
        `options` - 一个MarkerOptions 对象，它定义了如何渲染Marker 的属性。
      返回:
        返回一个 Marker 对象，此对象已经加到地图上。
      从以下版本开始:
        V2.0

    - #### addGroundOverlay

          public final GroundOverlay addGroundOverlay(GroundOverlayOptions options)

      添加一张图片在地图上。
      参数:
        `options` - 一个GroundOverlayOptions 对象，它定义了如何渲染这个overlay。它必须包括一个图片对象(AnchoredBitmap)和一个位置说明。
      返回:
        返回一个 GroundOverlay 对象，此对象已经加到地图上。
      从以下版本开始:
        V2.8.1

    - #### addTileOverlay

          public final TileOverlay addTileOverlay(TileOverlayOptions options)

      添加一个TileOverlay到地图上
      参数:
        `options` - TileOverlayOptions 对象，它定义了如何渲染TileOverlay 的属性
      返回:
        一个TileOverlay对象
      从以下版本开始:
        V2.8.1

    - #### clear

          public final void clear()

      从地图上删除所有的Marker，Overlay，Polyline 等覆盖物。
      从以下版本开始:
        V2.0

    - #### getMapType

          public final int getMapType()

      返回当前的地图显示类型。可以参考MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE。
      返回:
        地图显示类型。
      从以下版本开始:
        V2.0

    - #### setMapType

          public final void setMapType(int type)

      设置地图显示的类型。
      参数:
        `type` - 地图类型：MAP_TYPE_NORMAL：普通地图，值为1; MAP_TYPE_SATELLITE：卫星地图，值为2。
      从以下版本开始:
        V2.0

    - #### setMyLocationRotateAngle

          public final void setMyLocationRotateAngle(float rotate)

      设置定位图片旋转的角度，从正北开始，逆时针计算。
      参数:
        `rotate` - 定位图片旋转的角度，从正北开始，逆时针计算。
      从以下版本开始:
        v2.2.1

    - #### isTrafficEnabled

          public final boolean isTrafficEnabled()

      返回当前地图是否有实时交通数据。
      返回:
        如果返回true 则说明当前地图有实时交通数据，否则返回false。
      从以下版本开始:
        V2.0

    - #### setTrafficEnabled

          public void setTrafficEnabled(boolean enabled)

      设置是否显示交通。默认不显示。
      参数:
        `enabled` - true 表示显示，false 表示不显示。
      抛出:
        `RemoteException`
      从以下版本开始:
        V2.8.1

    - #### isMyLocationEnabled

          public final boolean isMyLocationEnabled()

      返回my-location 层的显示状态。
      返回:
        如果返回true 则说明当前位置层可显示，否则返回false。
      从以下版本开始:
        V2.0

    - #### getVersion

          public static java.lang.String getVersion()

      已过时。 2.2.1 获取版本号信息
      返回:
        版本号

    - #### setMyLocationEnabled

          public final void setMyLocationEnabled(boolean enabled)

      设置定位层是否显示。

      如果显示定位层，则界面上将出现定位按钮，如果未设置Location Source 则定位按钮不可点击。

      参数:
        `enabled` - true 显示定位层, false 隐藏定位层。
      从以下版本开始:
        V2.0

    - #### getMyLocation

          public final Location getMyLocation()

      返回当前Location Source 提供的定位信息。如果未设置Location Source 则返回null。
      返回:
        当前显示的定位位置的经纬度。
      抛出:
        `java.lang.IllegalStateException` - 如果my -location layer被禁止,抛出 IllegalStateException 异常。
      从以下版本开始:
        V2.0

    - #### setLocationSource

          public final void setLocationSource(LocationSource locationSource)

      设置定位资源。如果不设置此定位资源则定位按钮不可点击。
      参数:
        `locationSource` - 与高德地图匹配的定位资源。
      从以下版本开始:
        V2.0

    - #### setMyLocationStyle

          public final void setMyLocationStyle(MyLocationStyle style)

      设置定位（当前位置）的绘制样式。
      参数:
        `style` - 绘制样式。
      从以下版本开始:
        V2.0.4

    - #### getUiSettings

          public final UiSettings getUiSettings()

      返回地图的用户界面设置对象。
      返回:
        地图界面设置对象。
      从以下版本开始:
        V2.0

    - #### getProjection

          public final Projection getProjection()

      返回一个Projection 对象。可以通过这个对象在屏幕坐标与经纬度坐标之间进行转换。Projection 对象返回的是当前可视区域的坐标，当可视区域变换时，它不会自己更新。
      返回:
        当前地图位置的Projection 对象。
      从以下版本开始:
        V2.0

    - #### setOnCameraChangeListener

          public final void setOnCameraChangeListener(AMap.OnCameraChangeListener listener)

      设置一个可视范围变化时的回调的接口方法。
      参数:
        `listener` - 当可视范围变化时的回调的接口方法。传入null值，则表示不回调方法。
      从以下版本开始:
        V2.0

    - #### setOnMapClickListener

          public final void setOnMapClickListener(AMap.OnMapClickListener listener)

      设置一个当地图被点击时的回调方法。
      参数:
        `listener` - 当地图被点击时的接口回调方法，传入null 值，则表示不回调方法。
      从以下版本开始:
        V2.0

    - #### setOnMapTouchListener

          public final void setOnMapTouchListener(AMap.OnMapTouchListener listener)

      设置一个当地图被触摸时的回调方法。
      参数:
        `listener` - 当地图被触摸时的接口回调方法，传入null 值，则表示不回调方法。
      从以下版本开始:
        V2.4.0

    - #### setOnMyLocationChangeListener

          public final void setOnMyLocationChangeListener(AMap.OnMyLocationChangeListener listener)

      设置当用户位置改变后的回调方法。
      参数:
        `listener` - 当用户位置改变后的回调方法。
      从以下版本开始:
        V2.0

    - #### setOnMapLongClickListener

          public final void setOnMapLongClickListener(AMap.OnMapLongClickListener listener)

      设置一个当长按地图时的回调方法。
      参数:
        `listener` - 当长按地图时回调接口方法，传入null 值，则表示不回调方法。
      从以下版本开始:
        V2.0

    - #### setOnMarkerClickListener

          public final void setOnMarkerClickListener(AMap.OnMarkerClickListener listener)

      设置一个当地图上的Marker 被点击的回调方法。
      参数:
        `listener` - 当地图上的Marker 被点击时，回调此方法，传入null 值，则表示不回调方法。
      从以下版本开始:
        V2.0

    - #### setOnMarkerDragListener

          public final void setOnMarkerDragListener(AMap.OnMarkerDragListener listener)

      设置一个当地图上的Marker被拖拽的回调方法
      参数:
        `listener` - 当地图上的Marker被拖拽时，回调此方法；传入null值，则表示不回调方法。
      从以下版本开始:
        V2.0.1

    - #### setOnInfoWindowClickListener

          public final void setOnInfoWindowClickListener(AMap.OnInfoWindowClickListener listener)

      设置当消息窗口Marker 被点击时的回调方法。
      参数:
        `listener` - 当信息窗口Marker 被点击时的回调方法，传入null 值，则表示不回调方法。
      从以下版本开始:
        V2.0

    - #### setInfoWindowAdapter

          public final void setInfoWindowAdapter(AMap.InfoWindowAdapter adapter)

      设置一个个性化渲染的内容的信息窗口。

      像地图事件接口一样，这个状态不是绑定在地图上的。如果地图被再次创建，比如当一些配制更改时，你必须确认要再次调用这个方法以保证个性化的信息窗口不变。

      参数:
        `adapter` - 这个适配器用来渲染信息窗口的内容，如果传入null，则API 会用默认方式来渲染信息窗口。
      从以下版本开始:
        V2.0

    - #### setOnMapLoadedListener

          public final void setOnMapLoadedListener(AMap.OnMapLoadedListener listener)

      设置地图载入成功回调的方法。
      参数:
        `listener` - 当地图加载成功后回调的接口方法。
      从以下版本开始:
        V2.0.1

    - #### getMapScreenShot

          public void getMapScreenShot(AMap.OnMapScreenShotListener listener)

      截取当前屏幕设备上的可见地图区域。
      参数:
        `listener` - 当截屏时回调的接口。
      从以下版本开始:
        V2.1.0

    - #### getScalePerPixel

          public float getScalePerPixel()

      获取比例尺数据。当前缩放级别下，地图上1像素点对应的长度，单位米。
      返回:
        当前缩放级别下，地图上1像素点对应的长度，单位米。
      从以下版本开始:
        V2.0.2

    - #### getMapScreenMarkers

          public final java.util.List<Marker> getMapScreenMarkers()

      获取当前可见地图区域的所有marker
      返回:
        可见地图区域的所有marker
      从以下版本开始:
        v2.2.1

    - #### postInvalidate

          public void postInvalidate()

      刷新地图
      从以下版本开始:
        v2.0

    - #### invalidate

          public void invalidate()

      刷新地图
      从以下版本开始:
        v2.0

    - #### setMapLanguage

          public void setMapLanguage(java.lang.String language)

      设置地图底图语言，目前支持中文底图和英文底图
      参数:
        `language` - AMap.CHINESE 表示中文，即"zh_ch", AMap.ENGLISH 表示英文，即"en"
      从以下版本开始:
        2.4.1

    - #### removecache

          public void removecache()

      清除地图缓存文件，没有回调
      从以下版本开始:
        2.8.0

    - #### removecache

          public void removecache(AMap.OnCacheRemoveListener onCacheRemoveListener)

      回调清除地图缓存文件
      参数:
        `onCacheRemoveListener` - 回调接口
      从以下版本开始:
        2.8.0