此页面介绍了如何管理您添加到地图上的标记与默认标签(例如地图注点 [POI] 或街道名称)之间的冲突问题。
准备工作
如需管理标记与标签之间的冲突问题,您必须使用地图 ID。
如果您是通过精简模式使用地图的位图图像,则无法管理标记与标签之间的冲突问题。指定标记优先级
使用 Marker
.CollisionBehavior
属性指定标记的优先级。
请使用以下某个值:
REQUIRED
- 默认值。要求显示与其他标记、标签和地图注点重叠的标记。OPTIONAL_AND_HIDES_LOWER_PRIORITY
- 表示相应标记可能会被必要标记替换或覆盖,或被优先级更高的OPTIONAL_AND_HIDES_LOWER_PRIORITY
标记替换。使用zIndex
有助于确定OPTIONAL_AND_HIDES_LOWER_PRIORITY
标记之间的相对优先级。zIndex
值越高,表示优先级越高。REQUIRED_AND_HIDES_OPTIONAL
- 要求显示某个标记,同时隐藏所有与之重叠的OPTIONAL_AND_HIDES_LOWER_PRIORITY
标记、标签或地图注点。该标记可能与其他必要标记重叠。
以下代码示例展示了如何为新标记设置 CollisionBehavior
:
Kotlin
val marker = map.addMarker( MarkerOptions() .position(LatLng(10.0, 10.0)) .zIndex(10f) // Optional. .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY) )
Java
Marker marker = map.addMarker( new MarkerOptions() .position(new LatLng(10, 10)) .zIndex(10) // Optional. .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY));