如何在撰写时创建带有此类自定义文本的自定义标记图标?
目前,我正在使用高级标记中的引脚配置创建此图标,但它会导致滞后,在高级标记中使用引脚配置不如普通标记那么流畅。
注:公交图标内置于地图中
带有 22222 文本的红色标记是使用
AdvancedMarker(
state = markerState,
pinConfig = marker.pinConfig,
title = "hello",
snippet = "World",
alpha = alpha,
)
我想使用这个标记,我可以为这个标记函数提供上面的图标
Marker(
state = markerState,
icon =
)
我无法在 Marker() 中使用 pin 配置。它需要 BitmapDescriptor
要创建如图所示的标记,您需要遵循以下步骤。
步骤 1. 创建自定义标记可组合项
第 2 步:将可组合项转换为位图
步骤 3. 在 Google 地图标记中使用 BitmapDescriptor
工作原理: 自定义标记设计:可
CustomMarkerView
组合项定义如何绘制标记。在本例中,它是一个带有黑色边框和居中文本的红色圆圈。可组合到位图:该函数为
createMarkerBitmap
。它获取此可组合并将其渲染为位图。为此,它使用 ,Canvas
先在 内渲染,然后将其绘制到位图上ComposeView
。Google 地图标记:接下来,将此位图转换为
BitmapDescriptor
,以便可以将其用作 Google 地图中的标记图标MarkerOptions
。我认为这种方法比使用更有效
AdvancedMarker
,并且避免了您遇到的滞后。您可以简单地使用
MarkerComposable
而不是Marker
因为两者都可用Marker.kt
,而且,MarkerComposable
允许您使用任何类型的内容作为标记,因为它在内部使用 ComposeToBitmapDescriptor 将可组合内容呈现为图标!示例实现:
在上面的例子中,我使用了 Icon,您可以保留任何类似图像组件的东西来代替 Icon!