Как справиться с событиями маркера на картах Google с помощью многоплатформы Kotlin с использованием Compose Uikit?IOS

Программируем под IOS
Ответить
Anonymous
 Как справиться с событиями маркера на картах Google с помощью многоплатформы Kotlin с использованием Compose Uikit?

Сообщение Anonymous »

Я создаю приложение Kotlin Multiplatform с Compose Multiplatform, и мне нужно обрабатывать события Marker Click на картах Google для iOS. Я использую gmsmapview с uikitview в моей функции Compose, но я не могу понять, как правильно настроить маркер, щелкните прослушивание.
Текущий код
Вот моя текущая реализация: < /p>
@OptIn(ExperimentalForeignApi::class)
@Composable
actual fun GoogleMaps(
trainMarkers: ViewState,
cameraState: CameraState,
isLocationPermissionGranted: Boolean,
onMarkerClick: (MarkerClick) -> Unit,
onVisibleRegionChange: (LatLngBounds, Float) -> Unit,
) {
val mapView = remember { GMSMapView() }
val initialCameraPosition = GMSCameraPosition.cameraWithLatitude(
latitude = 28.64,
longitude = 77.22,
zoom = 12.0f
)

// Display markers when trainMarkers change
LaunchedEffect(trainMarkers) {
mapView.clear()
trainMarkers.getDataOrNull()?.let { markers ->
markers.forEach { (train, position) ->
val marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(position.latitude, position.longitude)
marker.title = train.number
marker.icon = MarkerIconCache.getMarkerIcon(train)
marker.map = mapView
marker.userData = train
}
}
}

Box(modifier = Modifier.fillMaxSize()) {
UIKitView(
factory = {
mapView.camera = initialCameraPosition
mapView
},
modifier = Modifier.fillMaxSize()
)
}
}
< /code>
Вопросы < /p>

Как правильно реализовать обработку маркеров с помощью GMSMapview в
kotlin multiplatform? /> обратные вызовы? < /li>
Есть ли способ справиться с этим без создания отдельного делегата
класса? Информация о маркере
предотвратить появление информационного окна по умолчанию < /p>
Любая помощь будет очень оценена! < /p>

Подробнее здесь: https://stackoverflow.com/questions/796 ... form-ios-u
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»