Google 地图

public final class GoogleMap extensions Object

这是 Google Maps SDK for Android 的主类,也是与地图相关的所有方法的入口点。您不能直接实例化 GoogleMap 对象,而必须从您添加到应用中的 MapFragmentMapView 上通过 getMapAsync() 方法获取该对象。

注意:与 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 点击“我的位置”按钮时使用的回调界面。
接口 GoogleMap.OnMyLocationChangeListener 此接口已弃用。 请改用 com.google.android.gms.location.FusedLocationProviderApi。FusedLocationProviderApi 改进了位置信息查找和功耗,并被“我的位置”蓝点使用。请参阅选择当前地点教程(使用 FusedLocationProviderApi)或位置信息开发者指南 
接口 GoogleMap.OnMyLocationClickListener 当用户点击“我的位置”圆点(表示用户的位置)时发生的回调接口。
接口 GoogleMap.OnPoiClickListener POI 点按的监听器。
接口 GoogleMap.OnPolygonClickListener 点击多边形时的回调接口。
接口 GoogleMap.OnPolygonClickListener 点击多段线时对应的回调接口。
接口 GoogleMap.SnapshotReadyCallback 用于在截取快照后通知的回调接口。

常量摘要

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

公共方法摘要

圆形
addCircleCircleOptions 选项)
向此地图添加圆形。
GroundOverlay
addGroundOverlayGroundOverlayOptions 选项)
用于向此地图添加图片。
标记
addMarkerMarkerOptions 选项)
用于向此地图添加标记。
多边形
addPolygonPolygonOptions 选项)
用于向此地图添加多边形。
多段线
addPolygonPolygonOptions 选项)
用于向此地图添加多段线。
TileOverlay
addTileOverlayTileOverlayOptions 选项)
用于向此地图添加图块叠加层。
无效
animateCamera(CameraUpdate 更新)
使相机从当前位置移动到更新中定义的位置动画。
无效
animateCamera(CameraUpdate 更新、GoogleMap.CancelableCallback 回调)
使相机从当前位置移动到更新中定义的位置动画,并在完成时调用可选回调。
无效
animateCamera(CameraUpdate 更新、整数时长 M、GoogleMap.CancelableCallback 回调)
根据经过更新且包含指定时长的动画移动地图,并在完成时调用可选的回调。
无效
clear()
从地图中删除所有标记、多段线、多边形、叠加层等。
CameraPosition
getCameraPosition()
获取相机的当前位置。
室内建筑
getFocusedBuilding()
获取当前聚焦的建筑物。
整数
getAlign()
获取当前显示的地图类型。
浮点数
getMaxZoomLevel()
返回当前相机位置的最大缩放级别。
浮点数
getMinZoomLevel()
返回最小缩放级别。
地点
getMyLocation()
此方法已弃用。 请改用 com.google.android.gms.location.FusedLocationProviderApi。FusedLocationProviderApi 改进了位置信息查找和功耗,并被“我的位置”蓝点使用。请参阅示例应用文件夹中的 MyLocationDemoActivity 查看示例代码,或参阅位置信息开发者指南
投影
getProjection()
返回一个 Projection 对象,该对象可用于在屏幕坐标和纬度/经度坐标之间进行转换。
界面设置
getUiSettings()
获取地图的用户界面设置。
布尔值
isBuildingsEnabled()
返回是否已启用 3D 建筑图层。
布尔值
isIndoorEnabled()
获取当前是否启用室内地图的功能。
布尔值
isMyLocationEnabled()
获取 my-location 图层的状态。
布尔值
is TrafficEnabled()
检查地图是否绘制了路况数据。
无效
moveCameraCameraUpdate 更新)
根据更新中定义的说明调整相机位置。
无效
resetMinMaxZoomPreference()
移除之前指定的所有缩放上限。
无效
setBuildingsEnabled(已启用布尔值)
打开或关闭 3D 建筑图层。
无效
setContentDescription(字符串说明)
设置地图的 contentDescription。
布尔值
setIndoorEnabled(已启用布尔值)
设置是否应启用室内地图。
无效
setInfoWindowAdapter(GoogleMap.InfoWindowAdapter 适配器)
为信息窗口的内容设置自定义渲染程序。
无效
setLatLngBoundsForCameraTargetLatLngBounds 边界)
指定用于约束相机目标的 LatLngBounds,以便当用户滚动和平移地图时,相机目标不会超出这些边界。
无效
setLocationSourceLocationSource 来源)
替换“我的位置”图层的位置来源。
布尔值
setMapStyleMapStyleOptions 样式)
设置基本地图的样式。
无效
set 地图类型(整数类型)
设置应显示的地图图块的类型。
无效
setMaxZoomPreference(浮点数最大值缩放偏好设置)
设置相机变焦的首选上限。
无效
setMinZoomPreference(浮点数最小值缩放偏好设置)
设置相机变焦的首选下限。
无效
setMyLocationEnabled(已启用布尔值)
启用或停用“我的位置”图层。
无效
无效
setOnCameraIdleListenerGoogleMap.OnCameraIdleListener 监听器)
设置在相机移动结束时调用的回调。
无效
setOnCameraMoveCanceledListenerGoogleMap.OnCameraMoveCanceledListener 监听器)
设置在相机动作停止或被新类型的动画中断时调用的回调。
无效
setOnCameraMoveListenerGoogleMap.OnCameraMoveListener 监听器)
设置在相机移动时重复调用的回调。
无效
setOnCameraMoveStartedListenerGoogleMap.OnCameraMoveStartedListener 监听器)
设置在相机开始移动或相机移动原因时调用的回调。
无效
setOnCircleClickListenerGoogleMap.OnCircleClickListener 监听器)
设置在点击圆形时调用的回调。
无效
setOnGroundOverlayClickListenerGoogleMap.OnGroundOverlayClickListener 监听器)
设置在点击地面叠加层时调用的回调。
无效
setOnIndoorStateChangeListenerGoogleMap.OnIndoorStateChangeListener 监听器)
设置或清除室内事件的监听器。
无效
setOnInfoWindowClickListener(GoogleMap.OnInfoWindowClickListener 监听器)
设置在点击标记信息窗口时调用的回调。
无效
setOnInfoWindowCloseListenerGoogleMap.OnInfoWindowCloseListener 监听器)
用于设置在标记信息窗口关闭时调用的回调函数。
无效
setOnInfoWindowLongClickListenerGoogleMap.OnInfoWindowLongClickListener 监听器)
用于设置在用户长按标记信息窗口时调用的回调函数。
无效
setOnMapClickListenerGoogleMap.OnMapClickListener 监听器)
设置在点按地图时调用的回调。
无效
setOnMapLoadedCallbackGoogleMap.OnMapLoadedCallback 回调)
用于设置在此地图完成渲染后调用的回调。
无效
setOnMapLongClickListenerGoogleMap.OnMapLongClickListener 监听器)
设置在长按地图时调用的回调。
无效
setOnMarkerClickListener(GoogleMap.OnMarkerClickListener 监听器)
设置在点击标记时调用的回调。
无效
setOnMarkerDragListener(GoogleMap.OnMarkerDragListener 监听器)
设置在拖动标记时调用的回调。
无效
setOnMyLocationButtonClickListenerGoogleMap.OnMyLocationButtonClickListener 监听器)
设置在点击“我的位置”按钮时调用的回调。
无效
setOnMyLocationChangeListenerGoogleMap.OnMyLocationChangeListener 监听器)
此方法已弃用。 请改用 com.google.android.gms.location.FusedLocationProviderApi。FusedLocationProviderApi 改进了位置信息查找和功耗,并被“我的位置”蓝点使用。请参阅示例应用文件夹中的 MyLocationDemoActivity 查看示例代码,或参阅位置信息开发者指南
无效
setOnMyLocationClickListenerGoogleMap.OnMyLocationClickListener 监听器)
设置在点击“我的位置”点(表示用户的位置)时调用的回调。
无效
setOnPoiClickListenerGoogleMap.OnPoiClickListener 监听器)
设置在点击或点按地图注点时触发的监听器。
无效
setOnPolygonClickListenerGoogleMap.OnPolygonClickListener 监听器)
用于设置在点击多边形时调用的回调。
无效
setOnPolygonClickListenerGoogleMap.OnPolygonClickListener 监听器)
设置在点击多段线时调用的回调。
无效
setPadding(int left、int top、int right、int bottom)
设置地图上的内边距。
无效
set TrafficEnabled(已启用布尔值)
启用或停用路况图层。
无效
snapshotGoogleMap.SnapshotReadyCallback 回调)
截取地图的快照。
无效
snapshotGoogleMap.SnapshotReadyCallback 回调、位图位图)
截取地图的快照。
无效
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 options)

向此地图添加圆形。

参数
选项 定义了如何渲染圆形的圆形选项对象
返回
  • 添加到地图的 Circle 对象

public GroundOverlay addGroundOverlay (GroundOverlayOptions 选项)

用于向此地图添加图片。

参数
选项 地面叠加层选项对象,用于定义如何呈现叠加层。选项必须指定图像 (AnchoredBitmap) 和位置。
返回
抛出
IllegalArgumentException 如果图片或位置未在选项中指定。

public Marker addMarker (MarkerOptions options)

用于向此地图添加标记。

该标记的图标会在地图上的 Marker.position 位置呈现。点击该标记可将相机居中放置。如果定义了 Marker.title,则地图会显示一个包含标记标题和摘要的信息框。如果标记是可拖动的,请长按标记,然后拖动标记。

参数
选项 用于定义如何呈现标记的标记选项对象。
返回

public Polygon addPolygon (PolygonOptions options)

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

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

public 多段线 add 折线 (多选选项 options)

用于向此地图添加多段线。

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

public TileOverlay addTileOverlay (TileOverlayOptions options)

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

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

参数
选项 图块叠加层选项对象,用于定义如何呈现叠加层。选项必须指定 TileProvider,否则会抛出 IllegalArgumentException
返回
抛出
IllegalArgumentException 如果选项中未指定 TileProvider

public void animateCamera (CameraUpdate update)

使相机从当前位置移动到更新中定义的位置动画。在动画播放过程中,调用 getCameraPosition() 会返回相机的中间位置。

如需查看一组更新,请参阅 CameraUpdateFactory

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

public void animateCamera (CameraUpdate update, GoogleMap.CancelableCallback callback)

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

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

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

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

根据经过更新且包含指定时长的动画移动地图,并在完成时调用可选的回调。如需查看一组更新,请参阅 CameraUpdateFactory

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

参数
update
持续时间(毫秒) 动画的时长(以毫秒为单位)。此值必须严格为正,否则系统将抛出 IllegalArgumentException
callback 在动画停止播放时从 Android 界面线程接收通知的可选回调函数。如果动画因其自然完成而停止,系统将通过 onFinish() 通知回调。如果动画由于后续相机移动或用户手势而停止,系统会调用 onCancel()。回调不应尝试在其取消方法中移动摄像头或为摄像头添加动画效果。如果不要求使用回调,请将其保留为 null

public void clear ()

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

public CameraPosition getCameraPosition ()

获取相机的当前位置。

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

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

返回
  • 相机的当前位置。

public IndoorBuilding getFocusedBuilding ()

获取当前聚焦的建筑物。

返回
  • 当前聚焦的建筑物或 null(如果未聚焦)。

public int getLatLng ()

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

返回
  • 地图类型。

公开浮点数 getMaxZoomLevel ()

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

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

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

公开 浮点 getMinZoomLevel ()

返回最小缩放级别。此值对每个位置都相同(不同于最大缩放级别),但可能因设备和地图大小而异。

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

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

公开 位置信息 getMyLocation ()

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

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

返回
抛出
IllegalStateException 如果未启用“我的位置”图层。

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 图层的状态。

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

public boolean is TrafficEnabled ()

检查地图是否绘制了路况数据。这取决于流量数据的提供情况。

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

public void moveCamera (CameraUpdate update)

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

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

public void resetMinMaxZoomPreference ()

移除之前指定的所有缩放上限。

public void setBuildingsEnabled (boolean enabled)

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

参数
已启用 true 表示启用 3D 建筑层;false 表示停用 3D 建筑。

public void setContentDescription (String description)

设置地图的 contentDescription。

用于在无障碍模式下提供地图的语音描述。默认值为“Google 地图”。

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

公开布尔值 setIndoorEnabled (已启用布尔值)

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

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

public void setInfoWindowAdapter (GoogleMap.InfoWindowAdapter 适配器)

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

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

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

public void setLatLngBoundsForCameraTarget (LatLngBounds bounds)

指定用于约束相机目标的 LatLngBounds,以便当用户滚动和平移地图时,相机目标不会超出这些边界。

设置为 null 可完全清除边界框。新边界会取代之前指定的所有边界框。

当 LatLngBounds 更改时,SDK 会尽可能调整所有后续的相机更新,以遵循这些边界。请注意,有些技术因素可能会阻止 SDK 严格控制在边界内。例如,浮点精度舍入误差或非常低的缩放级别。

参数
范围 用于限制相机目标的边界。

public void setLocationSource (LocationSource source)

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

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

public boolean setMapStyle (MapStyleOptions style)

设置基本地图的样式。

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

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

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

public void setLatLng (int type)

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

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

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)

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

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

如需使用 my-location-layer 功能,您需要请求 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)

用于设置在此地图完成渲染后调用的回调。该回调函数将仅调用一次。

如果在地图完全呈现后调用此方法,则会立即调用回调。如果地图由于连接问题而从未收到加载,或者地图会不断变化且由于用户持续与地图互动而始终无法完成加载,则不会触发此事件。

参数
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监听器)

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

参数
监听器 当用户点击“我的位置”点时调用的回调。

public void setOnPoiClickListener (GoogleMap.OnPoiClickListener监听器)

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

传递 null 可清除监听器。

参数
监听器

public void setOnPolygonClickListener (GoogleMap.OnPolygonClickListener监听器)

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

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

public void setOnPolygonClickListener (GoogleMap.OnPolygonClickListener监听器)

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

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

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

设置地图上的内边距。

此方法可让您在地图上定义可见区域,从而通过在地图上的四个边缘的每个边缘设置内边距来告知地图某些边缘可能被遮盖。地图函数会根据内边距进行调整。例如,系统会移动缩放控件、罗盘、版权通知和 Google 徽标,使其位于指定区域内,相机移动位置相对于可见区域的中心位置等。

参数
left 要添加到地图左侧的内边距的像素数。
上半场 要添加到地图顶部的内边距的像素数。
向右 要在地图右侧添加的内边距的像素数。
下半场 要在地图底部添加的内边距的像素数。

public void set TrafficEnabled (boolean enabled)

启用或停用路况图层。

参数
已启用

public void snapshot (GoogleMap.SnapshotReadyCallback callback)

截取地图的快照。

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

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

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

public void snapshot (GoogleMap.SnapshotReadyCallback callback, Bitmap bitmap)

截取地图的快照。

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

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

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

public void stopAnimation ()

如果正在播放相机动画,则停止。调用该方法后,相机会立即停止移动并保持在该位置。