GoogleMap

public final 类 GoogleMap扩展 Object

这是 Google Maps SDK for Android 的主类,也是与地图相关的所有方法的入口点。您无法直接实例化 GoogleMap 对象,您必须从已添加到应用的 MapFragmentMapViewgetMapAsync() 方法中获取一个对象。

注意:与 View 对象类似,GoogleMap 只能通过 Android 界面线程读取和修改。从其他线程调用 GoogleMap 方法会导致异常。

您可以通过更改镜头的位置(而不是移动地图)来调整地图的视角。您可以使用地图的相机来设置位置、缩放级别、倾斜角度和方位等参数。如需了解详情,请参阅镜头和视图

开发者指南

如需开始操作,请阅读 Google Maps SDK for Android 开发者指南。

嵌套类摘要

接口 GoogleMap.CancelableCallback 用于报告任务完成或取消的回调接口。
接口 GoogleMap.InfoWindowAdapter 提供用于自定义信息窗口呈现的视图。
接口 GoogleMap.OnCameraChangeListener 此接口已废弃。已替换为 GoogleMap.OnCameraMoveStartedListenerGoogleMap.OnCameraMoveListenerGoogleMap.OnCameraIdleListener。已废弃的 onCameraChange 方法相对于新的相机更改监听器中的方法的调用顺序尚未定义。  
接口 GoogleMap.OnCameraIdleListener 镜头移动结束时的回调接口。
接口 GoogleMap.OnCameraMoveCanceledListener 当镜头移动已停止或相机由于新原因而开始移动时的回调接口。
接口 GoogleMap.OnCameraMoveListener 相机更改位置的回调接口。
接口 GoogleMap.OnCameraMoveStartedListener 相机运动开始时的回调接口。
接口 GoogleMap.OnCircleClickListener 点击圆形时的回调接口。
接口 GoogleMap.OnGroundOverlayClickListener 点击地面叠加层时的回调接口。
接口 GoogleMap.OnIndoorStateChangeListener 室内状态变化的监听器。
接口 GoogleMap.OnInfoWindowClickListener 标记信息窗口上的点击/点按事件的回调接口。
接口 GoogleMap.OnInfoWindowCloseListener 标记信息窗口上关闭事件的回调接口。
接口 GoogleMap.OnInfoWindowLongClickListener 在用户长按标记的信息窗口时使用的回调接口。
接口 GoogleMap.OnMapClickListener 在用户点按地图时使用的回调接口。
接口 GoogleMap.OnMapLoadedCallback 地图完成渲染时使用的回调接口。
接口 GoogleMap.OnMapLongClickListener 在用户长按地图时使用的回调接口。
接口 GoogleMap.OnMarkerClickListener 定义点击或点按标记时调用的方法的签名。
接口 GoogleMap.OnMarkerDragListener 标记上拖动事件的回调接口。
接口 GoogleMap.OnMyLocationButtonClickListener 点击“My Location”按钮时的回调接口。
接口 GoogleMap.OnMyLocationChangeListener 此接口已废弃。请改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 改进了位置信息查找功能和耗电量,供“我的位置”蓝点使用。请参阅使用 FusedLocationProviderApi 的 “选择当前地点”教程,或者参阅位置信息开发者指南 
接口 GoogleMap.OnMyLocationClickListener 点击“My Location”圆点(表示用户的位置)时的回调接口。
接口 GoogleMap.OnPoiClickListener 地图注点点按监听器。
接口 GoogleMap.OnPolygonClickListener 点击多边形时使用的回调接口。
接口 GoogleMap.OnPolylineClickListener 点击多段线时的回调接口。
接口 GoogleMap.SnapshotReadyCallback 用于在拍摄快照后发送通知的回调接口。

常量摘要

int MAP_TYPE_HYBRID 带有主要街道透明图层的卫星地图。
int MAP_TYPE_NONE 无基本地图图块。
int MAP_TYPE_NORMAL 基本地图。
int MAP_TYPE_SATELLITE 不带标签的卫星地图。
int MAP_TYPE_TERRAIN 地形地图。

公共方法摘要

圆形
addCircle(CircleOptions 选项)
向此地图添加一个圆形。
GroundOverlay
addGroundOverlayGroundOverlayOptions 选项)
用于向此地图添加图像。
标记
addMarkerMarkerOptions 选项)
用于向此地图添加标记。
多边形
addPolygonPolygonOptions 选项)
用于向此地图添加多边形。
多段线
addPolylinePolylineOptions 选项)
向此地图添加多段线。
TileOverlay
addTileOverlayTileOverlayOptions 选项)
用于向此地图添加图块叠加层。
void
animateCameraCameraUpdate 更新)
为相机从当前位置移动到更新中定义的位置添加动画效果。
void
animateCameraCameraUpdate 更新、GoogleMap.CancelableCallback 回调)
为相机从当前位置移到更新中定义的位置添加动画效果,并在完成时调用可选回调。
void
animateCamera(CameraUpdate update, int durationMs, GoogleMap.CancelableCallback 回调)
根据指定时长内的动画更新移动地图,并在完成时调用可选的回调。
void
clear()
从地图上移除所有标记、多段线、多边形、叠加层等。
CameraPosition
getCameraPosition()
获取镜头的当前位置。
IndoorBuilding
getFocusedBuilding()
获取当前聚焦的建筑物。
整型
getMapType()
用于获取当前显示的地图类型。
浮点数
getMaxZoomLevel()
返回当前镜头位置的最大缩放级别。
浮点数
getMinZoomLevel()
返回最小缩放级别。
地点
getMyLocation()
此方法已废弃。 请改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 改进了位置信息查找功能和耗电量,供“我的位置”蓝点使用。如需查看示例代码,请参阅示例应用文件夹中的 MyLocationDemoActivity,或参阅位置信息开发者指南
投影
getProjection()
返回一个 Projection 对象,您可以使用该对象在屏幕坐标与纬度/经度坐标之间进行转换。
UiSettings
getUiSettings()
获取地图的用户界面设置。
布尔值
isBuildingsEnabled()
返回是否启用 3D 建筑图层。
布尔值
isIndoorEnabled()
获取当前是否启用了室内地图的信息。
布尔值
isMyLocationEnabled()
获取“我的位置”图层的状态。
布尔值
isTrafficEnabled()
检查地图是否绘制了路况数据。
void
moveCameraCameraUpdate 更新)
根据更新中定义的说明调整相机位置。
void
resetMinMaxZoomPreference()
删除之前指定的所有缩放上限和下限。
void
setBuildingsEnabled(已启用布尔值)
打开或关闭 3D 建筑图层。
void
setContentDescription(字符串说明)
用于为地图设置 contentDescription。
布尔值
setIndoorEnabled(已启用布尔值)
设置是否应启用室内地图。
void
setInfoWindowAdapterGoogleMap.InfoWindowAdapter 适配器)
用于为信息窗口的内容设置自定义渲染程序。
void
setLatLngBoundsForCameraTargetLatLngBounds边界)
指定 LatLngBounds 以限制镜头目标,以便在用户滚动和平移地图时,镜头目标不会移出这些边界。
void
setLocationSourceLocationSource 来源)
替换“我的位置”图层的位置来源。
布尔值
setMapStyle(MapStyleOptions 样式)
设置基本地图的样式。
void
setMapType(int 类型)
用于设置应显示的地图图块类型。
void
setMaxZoomPreference(float maxZoomPreference)
设置相机缩放的首选上限。
void
setMinZoomPreference(float minZoomPreference)
设置相机缩放的首选下限。
void
setMyLocationEnabled(已启用布尔值)
启用或停用 my-location 图层。
void
void
setOnCameraIdleListenerGoogleMap.OnCameraIdleListener 监听器)
设置在镜头移动结束时调用的回调。
void
setOnCameraMoveCanceledListenerGoogleMap.OnCameraMoveCanceledListener 监听器)
设置在镜头运动被新型动画停止或中断时调用的回调。
void
setOnCameraMoveListener(GoogleMap.OnCameraMoveListener 监听器)
设置在镜头运动时重复调用的回调。
void
setOnCameraMoveStartedListenerGoogleMap.OnCameraMoveStartedListener 监听器)
设置在镜头开始移动或镜头移动原因发生变化时调用的回调。
void
setOnCircleClickListener(GoogleMap.OnCircleClickListener 监听器)
设置在用户点击圆形时调用的回调。
void
setOnGroundOverlayClickListenerGoogleMap.OnGroundOverlayClickListener 监听器)
用于设置在用户点击地面叠加层时调用的回调。
void
setOnIndoorStateChangeListenerGoogleMap.OnIndoorStateChangeListener 监听器)
设置或清除室内事件的监听器。
void
setOnInfoWindowClickListener(GoogleMap.OnInfoWindowClickListener 监听器)
用于设置在用户点击标记信息窗口时调用的回调。
void
setOnInfoWindowCloseListenerGoogleMap.OnInfoWindowCloseListener 监听器)
用于设置在标记的信息窗口关闭时调用的回调。
void
setOnInfoWindowLongClickListenerGoogleMap.OnInfoWindowLongClickListener 监听器)
用于设置在用户长按标记的信息窗口时调用的回调。
void
setOnMapClickListener(GoogleMap.OnMapClickListener 监听器)
用于设置在用户点按地图时调用的回调。
void
setOnMapLoadedCallbackGoogleMap.OnMapLoadedCallback 回调)
用于设置在此地图完成渲染时调用的回调。
void
setOnMapLongClickListener(GoogleMap.OnMapLongClickListener 监听器)
设置在长按地图时调用的回调。
void
setOnMarkerClickListener(GoogleMap.OnMarkerClickListener 监听器)
用于设置在用户点击标记时调用的回调。
void
setOnMarkerDragListenerGoogleMap.OnMarkerDragListener 监听器)
用于设置拖动标记时调用的回调。
void
setOnMyLocationButtonClickListener(GoogleMap.OnMyLocationButtonClickListener 监听器)
设置在用户点击“我的位置”按钮时调用的回调。
void
setOnMyLocationChangeListener(GoogleMap.OnMyLocationChangeListener 监听器)
此方法已废弃。 请改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 改进了位置信息查找功能和耗电量,供“我的位置”蓝点使用。如需查看示例代码,请参阅示例应用文件夹中的 MyLocationDemoActivity,或参阅位置信息开发者指南
void
setOnMyLocationClickListener(GoogleMap.OnMyLocationClickListener 监听器)
设置在用户点击“我的位置”圆点(表示用户的位置)时调用的回调。
void
setOnPoiClickListener(GoogleMap.OnPoiClickListener 监听器)
设置将在用户点击或点按地图注点时触发的监听器。
void
setOnPolygonClickListenerGoogleMap.OnPolygonClickListener 监听器)
设置在用户点击多边形时调用的回调。
void
setOnPolylineClickListenerGoogleMap.OnPolylineClickListener 监听器)
用于设置在用户点击多段线时调用的回调。
void
setPadding(int left, int top, int right, int bottom)
设置地图上的内边距。
void
setTrafficEnabled(已启用布尔值)
打开或关闭路况图层。
void
snapshotGoogleMap.SnapshotReadyCallback 回调)
拍摄地图快照。
void
snapshotGoogleMap.SnapshotReadyCallback 回调、位图位图)
拍摄地图快照。
void
stopAnimation()
停止相机动画(若有正在进行的动画动画)。

继承的方法摘要

常量

public static final int MAP_TYPE_HYBRID

带有主要街道透明图层的卫星地图。

常量值: 4

public static final int MAP_TYPE_NONE

无基本地图图块。

常量值: 0

public static final int MAP_TYPE_NORMAL

基本地图。

常量值: 1

public static final int MAP_TYPE_SATELLITE

不带标签的卫星地图。

常量值: 2

public static final int MAP_TYPE_TERRAIN

地形地图。

常量值: 3

公共方法

public Circle addCircle CircleOptions 选项)

向此地图添加一个圆形。

参数
选项 用于定义如何呈现圆形的圆形选项对象
返回
  • 添加到地图的 Circle 对象

public GroundOverlay addGroundOverlay GroundOverlayOptions 选项)

用于向此地图添加图像。

参数
选项 地面叠加层选项对象,用于定义如何渲染叠加层。必须为选项指定图像 (AnchoredBitmap) 和位置。
返回
抛出
IllegalArgumentException 如果在选项中未指定图片或位置,则会发生该错误。

public Marker addMarker MarkerOptions 选项)

向此地图添加标记。

标记的图标会渲染在地图上的 Marker.position 位置。点击该标记可使镜头居中。如果定义了 Marker.title,地图将显示一个信息框,其中包含标记的标题和信息摘要。如果标记可以拖动、长按标记,然后拖动该标记,则可以移动该标记。

参数
选项 标记选项对象,用于定义如何渲染标记。
返回

public Polygon addPolygon PolygonOptions 选项)

用于向此地图添加多边形。

参数
选项 多边形选项对象,用于定义如何渲染多边形。
返回
  • 添加到地图的 Polygon 对象。

public Polygon addPolyline PolylineOptions 选项)

向此地图添加多段线。

参数
选项 一个多段线选项对象,用于定义如何渲染多段线。
返回
  • 添加到地图的 Polyline 对象。

public TileOverlay addTileOverlay TileOverlayOptions 选项)

用于向此地图添加图块叠加层。如需了解详情,请参阅 TileOverlay

请注意,与其他叠加层不同,地图重新创建后,图块叠加层不会自动恢复,您必须手动重新添加。

参数
选项 图块叠加层选项对象,用于定义如何渲染叠加层。必须为选项指定 TileProvider,否则系统会抛出 IllegalArgumentException
返回
抛出
IllegalArgumentException 如果选项中未指定 TileProvider,则会发生该错误。

public void animateCamera CameraUpdate 更新)

为相机从当前位置移动到更新中定义的位置添加动画效果。在动画播放期间,调用 getCameraPosition() 会返回相机的中间位置。

如需了解一系列更新,请参阅 CameraUpdateFactory

参数
update 应应用于相机的更改。

public void animateCamera CameraUpdate 更新、GoogleMap.CancelableCallback 回调)

为相机从当前位置移到更新中定义的位置添加动画效果,并在完成时调用可选回调。如需了解一系列更新,请参阅 CameraUpdateFactory

在动画播放期间,调用 getCameraPosition() 会返回相机的中间位置。

参数
update 应应用于镜头的更改。
callback 在动画停止时从 Android 界面线程调用的回调。如果动画正常播放,则调用 onFinish();否则,调用 onCancel()。请勿在 onCancel() 中更新相机或为相机添加动画效果。

public void animateCamera (CameraUpdate update, int durationMs, GoogleMap.CancelableCallback 回调)

根据指定时长内的动画更新移动地图,并在完成时调用可选的回调。如需了解一组更新,请参阅 CameraUpdateFactory

如果在动画期间调用 getCameraPosition(),它将返回飞行中相机的当前位置。

参数
update
durationMs 动画的时长(以毫秒为单位)。此值必须为严格正数,否则系统会抛出 IllegalArgumentException
callback 一个可选回调,用于在动画停止时从 Android 界面线程收到通知。如果动画因自然完成而停止,回调将通过 onFinish() 收到通知。如果动画因稍后的镜头移动或用户手势而停止播放,系统会调用 onCancel()。回调不应尝试在镜头取消方法中移动镜头或以动画方式呈现镜头。如果不需要回调,请保留为 null

public void clear ()

从地图上移除所有标记、多段线、多边形、叠加层等。

public CameraPosition getCameraPosition ()

获取镜头的当前位置。

返回的 CameraPosition 是当前位置的快照,不会在相机移动时自动更新。

如需详细了解如何更改镜头位置,请参阅镜头和视图

返回
  • 相机的当前位置。

public IndoorBuilding getFocusedBuilding ()

获取当前聚焦的建筑物。

返回
  • 当前聚焦的建筑物;如果没有获得焦点,则返回 null

public int getMapType ()

用于获取当前显示的地图类型。如需了解可能的值,请参阅 MAP_TYPE_NORMALMAP_TYPE_SATELLITEMAP_TYPE_TERRAIN

返回
  • 地图类型。

public float getMaxZoomLevel ()

返回当前镜头位置的最大缩放级别。这会考虑当前正在使用的地图类型,例如,卫星地图或地形地图图块的最大缩放级别可能低于基本地图图块。

如需详细了解如何更改镜头的缩放级别,请参阅镜头和视图

返回
  • 当前相机位置可实现的最大缩放级别。

public float getMinZoomLevel ()

返回最小缩放级别。每个地点的缩放级别都相同(不同于最大缩放级别),但不同设备和地图尺寸之间可能有所差异。

如需详细了解如何更改镜头的缩放级别,请参阅镜头和视图

返回
  • 可用的最小缩放级别。

public Location getMyLocation ()

此方法已废弃
请改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 改进了位置信息查找功能和耗电量,供“我的位置”蓝点使用。如需查看示例代码,请参阅示例应用文件夹中的 MyLocationDemoActivity,或参阅位置信息开发者指南

返回当前显示的用户位置,如果没有可用的位置数据,则返回 null

返回
抛出
IllegalStateException 如果未启用“my-location”图层,则会发生该错误。

public Projection getProjection ()

返回一个 Projection 对象,您可以使用该对象在屏幕坐标与纬度/经度坐标之间进行转换。

返回的 Projection 是当前投影的快照,不会在相机移动时自动更新。由于此操作成本高昂,因此您应该在每个屏幕仅获取一次投影。Google 地图使用墨卡托投影法来根据地理数据创建地图,并将地图上的点转换为地理坐标。

返回

public UiSettings getUiSettings ()

获取地图的用户界面设置。

返回

public boolean isBuildingsEnabled ()

返回是否启用 3D 建筑图层。

返回
  • 如果启用了建筑物,则为 true;否则为 false

public boolean isIndoorEnabled ()

获取当前是否启用了室内地图的信息。

返回
  • 如果启用了室内地图,则为 true;如果停用室内地图,则为 false

public boolean isMyLocationEnabled ()

获取“我的位置”图层的状态。

返回
  • 如果启用了 my-location 图层,则返回 true;否则返回 false

public boolean isTrafficEnabled ()

检查地图是否绘制了路况数据。这取决于流量数据的可用性。

返回
  • 如果启用了流量数据,则为 true;否则为 false

public void moveCamera CameraUpdate 更新)

根据更新中定义的说明调整相机位置。移动是即时的,后续的 getCameraPosition() 将反映新位置。如需了解一组更新,请参阅 CameraUpdateFactory

参数
update 应应用于相机的更改。

public void resetMinMaxZoomPreference ()

删除之前指定的所有缩放上限和下限。

public void setBuildingsEnabled (boolean enabled)

打开或关闭 3D 建筑图层。

参数
已启用 true 可启用 3D 建筑图层;false 可停用 3D 建筑。

public void setContentDescription (字符串说明)

为地图设置 contentDescription。

此属性用于在无障碍模式下提供地图的语音说明。默认值为“Google 地图”

参数
说明 用作说明的字符串。

public boolean setIndoorEnabled (boolean enabled)

设置是否应启用室内地图。目前,室内地图一次只能在一个地图上显示,默认情况下,这是添加到应用的第一个地图。如需在其他地图上启用室内地图,您必须先在原始地图上停用室内地图。如果您在另一个地图上启用室内地图后尝试将其启用,则不会有任何反应,并且会返回 false。如果地图未启用“室内”,与室内相关的所有方法都将返回 nullfalse

参数
已启用 true 表示尝试启用室内地图;false 表示停用室内地图。
返回
  • 是否启用室内地图。

public void setInfoWindowAdapter GoogleMap.InfoWindowAdapter 适配器)

用于为信息窗口的内容设置自定义渲染程序。

与地图的事件监听器一样,此状态不会随地图一起序列化。如果地图重新创建(例如,由于配置变更),您必须确保再次调用此方法,以便保留自定义设置。

参数
适配器 用于信息窗口内容的适配器,或 null(用于在信息窗口中使用默认内容呈现)。

public void setLatLngBoundsForCameraTarget (LatLngBounds bounds)

指定 LatLngBounds 以限制镜头目标,以便在用户滚动和平移地图时,镜头目标不会移出这些边界。

设置为 null 以完全清除边界框。新边界会替换之前指定的所有边界框。

当 LatLngBounds 发生更改时,SDK 会调整所有后续镜头更新,以尽可能遵循这些边界。请注意,出于技术方面的考虑,可能会阻止 SDK 将相机目标严格限制在边界内。例如,浮点精度舍入误差或缩放级别非常低。

参数
bounds 用于限制镜头目标的边界。

public void setLocationSource LocationSource 来源)

替换“我的位置”图层的位置来源。

参数
source 要在“我的位置”图层中使用的位置来源。设置为 null 可使用默认位置来源。

public boolean setMapStyle (MapStyleOptions style)

设置基本地图的样式。

使用样式选项,您可以将自定义样式应用于地图上的地图项和元素。如需详细了解样式定义,请参阅 MapStyleOptions

设为 null 可清除所有之前的自定义样式。

参数
样式
返回
  • 如果样式已成功解析,则为 true;如果 MapStyleOptions 检测到问题,则为 false;包括无法解析的样式 JSON、无法识别的地图项类型、无法识别的元素类型或无效的样式器键。如果返回值为 false,则当前样式保持不变。

public void setMapType (整数类型)

用于设置应显示的地图图块类型。允许的值包括:

参数
类型 要显示的地图类型。

public void setMaxZoomPreference (float maxZoomPreference)

设置相机缩放的首选上限。

当最大缩放级别发生变化时,SDK 会尽可能调整所有后续相机更新,以遵循该最大值。请注意,出于技术方面的考虑,可能会阻止 SDK 允许用户将地图进行过深缩放。例如,卫星地图或地形地图图块的最大缩放级别可能低于基本地图图块。

SDK 可解决最小值和最大值之间的任何冲突。如果您将最小缩放级别设置为高于当前最大缩放级别,SDK 会对最小和最大使用新的最小值。如果您将最大缩放级别设置为低于最小缩放级别,SDK 会针对最小和最大使用新的最大值。例如:假设当前的最小缩放级别为 8,最大缩放级别为 14。然后将最大缩放级别设置为 6。SDK 使用的最小缩放级别为 6,最大缩放级别为 6。

参数
maxZoomPreference 首选上限。

public void setMinZoomPreference (float minZoomPreference)

设置相机变焦的首选下限。

当最小缩放级别发生变化时,SDK 会尽可能调整所有后续相机更新,以遵循该最小缩放级别。请注意,出于技术方面的考虑,可能会阻止 SDK 允许用户将缩放级别设置得过低。

SDK 可解决最小值和最大值之间的任何冲突。如果您将最小缩放级别设置为高于当前最大缩放级别,SDK 会对最小和最大使用新的最小值。如果您将最大缩放级别设置为低于最小缩放级别,SDK 会针对最小和最大使用新的最大值。例如:假设当前的最小缩放级别为 8,最大缩放级别为 14。然后将最小缩放级别设置为 16。SDK 使用的最小缩放级别为 16,最大缩放级别为 16。

参数
minZoomPreference 首选下限。

public void setMyLocationEnabled (boolean enabled)

启用或停用“我的位置”图层。

在启用且位置信息可用后,“我的位置”图层会持续绘制用户当前位置和方位的指示信息,并显示可让用户与其位置互动的界面控件(例如,启用或停用相机对其位置和方位的跟踪)。

除非您设置了自定义位置信息来源,否则为使用“我的位置”图层功能,您需要请求 ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION 的权限。

如果您已通过 setLocationSource(LocationSource) 设置自定义位置信息来源,Google Maps SDK for Android 将不会检查是否已授予上述权限。不过,您仍然需要确保用户已授予自定义位置信息来源所需的所有权限。

参数
已启用 true 表示启用;false 表示停用。
抛出
SecurityException (如果未授予位置信息权限)。

public void setOnCameraChangeListener GoogleMap.OnCameraChangeListener 监听器)

此方法已废弃
已替换为 setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener)setOnCameraMoveListener(GoogleMap.OnCameraMoveListener)setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener)setOnCameraIdleListener(GoogleMap.OnCameraIdleListener)

设置在镜头更改时调用的回调。

参数
监听器 在镜头更改时调用的回调。如需取消设置回调,请使用 null

public void setOnCameraIdleListener GoogleMap.OnCameraIdleListener 监听器)

设置在镜头移动结束时调用的回调。

参数
监听器 调用的回调函数。如需取消设置回调,请使用 null

public void setOnCameraMoveCanceledListener (GoogleMap.OnCameraMoveCanceledListener 监听器)

设置在镜头运动被新型动画停止或中断时调用的回调。

参数
监听器 调用的回调函数。如需取消设置回调,请使用 null。请勿在 onCameraMoveCanceled() 中更新镜头或为镜头添加动画效果。

public void setOnCameraMoveListener (GoogleMap.OnCameraMoveListener 监听器)

设置在镜头运动时重复调用的回调。该回调函数可以按每帧一次的频率调用,并且不应执行开销非常大的操作。

参数
监听器 调用的回调函数。如需取消设置回调,请使用 null

public void setOnCameraMoveStartedListener (GoogleMap.OnCameraMoveStartedListener 监听器)

设置在镜头开始移动或镜头移动原因发生变化时调用的回调。

参数
监听器 调用的回调函数。如需取消设置回调,请使用 null。请勿在 onCameraMoveStarted() 中更新镜头或为镜头添加动画效果。

public void setOnCircleClickListener (GoogleMap.OnCircleClickListener 监听器)

设置在用户点击圆形时调用的回调。

参数
监听器 点击圆形时调用的回调。如需取消设置回调,请使用 null

public void setOnGroundOverlayClickListener (GoogleMap.OnGroundOverlayClickListener 监听器)

用于设置在用户点击地面叠加层时调用的回调。

参数
监听器 点击地面叠加层时调用的回调。如需取消设置回调,请使用 null

public void setOnIndoorStateChangeListener (GoogleMap.OnIndoorStateChangeListener 监听器)

设置或清除室内事件的监听器。一次只能设置一个监听器。设置新的监听器将会移除之前的监听器。

参数
监听器 室内事件监听器(如果为非 Null);否则,清除室内事件的监听器

public void setOnInfoWindowClickListener GoogleMap.OnInfoWindowClickListener 监听器)

用于设置在用户点击标记信息窗口时调用的回调。

参数
监听器 点击标记信息窗口时调用的回调。如需取消设置回调,请使用 null

public void setOnInfoWindowCloseListener GoogleMap.OnInfoWindowCloseListener 监听器)

用于设置在标记的信息窗口关闭时调用的回调。

参数
监听器 在标记的信息窗口关闭时调用的回调。如需取消设置回调,请使用 null

public void setOnInfoWindowLongClickListener (GoogleMap.OnInfoWindowLongClickListener 监听器)

用于设置在用户长按标记的信息窗口时调用的回调。

参数
监听器 长按标记的信息窗口时调用的回调。如需取消设置回调,请使用 null

public void setOnMapClickListener (GoogleMap.OnMapClickListener 监听器)

用于设置在用户点按地图时调用的回调。

参数
监听器 点按地图时调用的回调。如需取消设置回调,请使用 null

public void setOnMapLoadedCallback (GoogleMap.OnMapLoadedCallback 回调)

用于设置在此地图完成渲染时调用的回调。该回调函数只会调用一次。

如果在地图完全渲染的情况下调用此方法,系统会立即调用回调。如果地图因连接问题一直没有加载,或者地图因用户持续与地图互动而不断变化且未能完成加载,则不会触发此事件。

参数
callback 地图完成渲染后调用的回调。如需取消设置回调,请使用 null

public void setOnMapLongClickListener (GoogleMap.OnMapLongClickListener 监听器)

设置在长按地图时调用的回调。

参数
监听器 长按地图时调用的回调。如需取消设置回调,请使用 null

public void setOnMarkerClickListener GoogleMap.OnMarkerClickListener 监听器)

用于设置在用户点击标记时调用的回调。

参数
监听器 点击标记时调用的回调。如需取消设置回调,请使用 null

public void setOnMarkerDragListener GoogleMap.OnMarkerDragListener 监听器)

用于设置拖动标记时调用的回调。

参数
监听器 对标记拖动事件调用的回调。如需取消设置回调,请使用 null

public void setOnMyLocationButtonClickListener (GoogleMap.OnMyLocationButtonClickListener 监听器)

设置在用户点击“我的位置”按钮时调用的回调。

如果 listener 返回 true,则系统会使用该事件,且不会发生默认行为。如果它返回 false,则会发生默认行为(即相机移动,使其以用户所在位置为中心)。

参数
监听器 点击“我的位置”按钮时调用的回调函数。

public void setOnMyLocationChangeListener (GoogleMap.OnMyLocationChangeListener 监听器)

此方法已废弃
请改用 com.google.android.gms.location.FusedLocationProviderApi。 FusedLocationProviderApi 改进了位置信息查找功能和耗电量,供“我的位置”蓝点使用。如需查看示例代码,请参阅示例应用文件夹中的 MyLocationDemoActivity,或参阅位置信息开发者指南

设置在“我的位置”点更改位置时调用的回调。

参数
监听器 在“我的位置”点更改时调用的回调。

public void setOnMyLocationClickListener (GoogleMap.OnMyLocationClickListener 监听器)

设置在用户点击“我的位置”圆点(表示用户的位置)时调用的回调。

参数
监听器 点击“My Location”圆点时调用的回调。

public void setOnPoiClickListener (GoogleMap.OnPoiClickListener 监听器)

设置将在用户点击或点按地图注点时触发的监听器。

传递 null 以清除监听器。

参数
监听器

public void setOnPolygonClickListener GoogleMap.OnPolygonClickListener 监听器)

设置在用户点击多边形时调用的回调。

参数
监听器 点击多边形时调用的回调。如需取消设置回调,请使用 null

public void setOnPolylineClickListener GoogleMap.OnPolylineClickListener 监听器)

用于设置在用户点击多段线时调用的回调。

参数
监听器 点击多段线时调用的回调。如需取消设置回调,请使用 null

public void setPadding (int left, int top, int right, int bottom)

设置地图上的内边距。

通过此方法,您可以定义地图上的可见区域,以指示地图边缘周围的部分内容可能会被遮挡(方法是对地图的四条边缘分别设置内边距)。地图函数将根据内边距进行调整。例如,系统会移动缩放控件、罗盘、版权声明和 Google 徽标,以适应定义的区域内,镜头移动将相对于可见区域的中心,等等。

参数
要在地图左侧添加的内边距像素数。
要在地图顶部添加的内边距像素数。
要在地图右侧添加的内边距像素数。
要在地图底部添加的内边距像素数。

public void setTrafficEnabled (boolean enabled)

打开或关闭路况图层。

参数
已启用

public void snapshot GoogleMap.SnapshotReadyCallback 回调)

拍摄地图快照。

当互动式地图难以使用或无法使用时,您可以在应用内使用快照。例如,使用 snapshot() 方法生成的图片可用于在应用中显示地图缩略图,或在通知中心显示快照。

注意:地图图像不得传输到您的服务器,也不得在应用之外使用。如果您需要向其他应用或用户发送地图,请发送可供其为新用户重建地图的数据,而不是快照。

参数
callback 截取快照时调用的回调方法。

public void snapshot GoogleMap.SnapshotReadyCallback 回调,位图位图)

拍摄地图快照。

此方法等同于 snapshot(SnapshotReadyCallback),但允许您提供预先分配的 Bitmap。如果该位图与地图的当前尺寸不匹配,则会分配另一个适合地图尺寸的位图。

虽然在大多数情况下,回调方法传递的对象与此方法的参数中给定的对象相同,但在某些情况下,返回的对象可以不同(例如,如果在实际拍摄快照时视图尺寸发生了更改)。因此,您应该只信任回调方法传递的位图的内容。

参数
callback 截取快照时调用的回调方法。
位图 预分配的位图。如果为 null,则行为类似于 snapshot(SnapshotReadyCallback)

public void stopAnimation ()

停止相机动画(若有正在进行的动画动画)。调用该方法时,镜头会立即停止移动并保持在该位置。