如何在Jetpack Compose中获得可拖动标记的新坐标?



在Google Map上成功添加了以下标记:

Marker(
state = MarkerState(
position = LatLng(lat, lng)
),
title = "Party",
snippet = "Come to party.",
draggable = true
)

我设置这个标记是可拖动的,它的工作,但如何知道新的协调时,标记被放下?

我认为这可以通过记住你传递给Marker的标记状态来完成;例如,您可以编写以下代码并查询新坐标的状态,或者将该状态传递到想要获得更新的位置:

val markerState = rememberMarkerState(position = LatLng(lat, lng))
Marker(
state = markerState
title = "Party",
snippet = "Come to party.",
draggable = true
)

这样,在每次重组时,在拖动标记时,新位置将在markerState中。

我希望这对你有帮助!

我使用LaunchedEffect键标记状态。从这个协程中,我可以得到新的LatLng。

val markerState = rememberMarkerState(position = LatLng(lat, lng))
Marker(
state = markerState
title = "Party",
snippet = "Come to party.",
draggable = true
)
LaunchedEffect(key1 = markerState.position) {
Log.d(TAG, "New coordinates: ${markerState.position}")
}