我正在尝试开发一个应用程序,使用谷歌Map来显示一些位置。我试图实现标记聚类的标记非常接近。但是,这样做的标记点击,以显示一个信息窗口不再工作。如果有人能告诉我一个trun周围,我会非常感谢。这是我的代码。
GoogleMap(
modifier = Modifier
.fillMaxSize(),
cameraPositionState = cameraPositionState,
uiSettings = uiSettings,
onMapClick = {
onMapClick(it)
}
) {
var clusterManager by remember {
mutableStateOf<ClusterManager<CustomMarkerState>?>(
null
)
}
MapEffect(listOfMarkers) { map ->
if (clusterManager == null) {
clusterManager = ClusterManager<CustomMarkerState>(context, map)
}
clusterManager?.addItems(listOfMarkers)
}
LaunchedEffect(key1 = cameraPositionState.isMoving) {
if (!cameraPositionState.isMoving) {
clusterManager?.onCameraIdle()
}
}
if (listOfMarkers.isNotEmpty()) {
listOfMarkers.forEach { marker ->
Marker(
state = MarkerState(
position = LatLng(
marker.latitude,
marker.longitude
)
),
title = marker.name,
snippet = marker.description,
onClick = {
isShown = true
selectedMarker = marker
return@Marker true
}
)
}
}
}
}
1条答案
按热度按时间qv7cva1a1#
制作您自己的群集渲染,这是完整的解决方案
自定义群集管理器