import
android.content.Context
import
android.os.Bundle
import
androidx.activity.ComponentActivity
import
androidx.activity.compose.setContent
import
androidx.compose.foundation.background
import
androidx.compose.foundation.layout.Column
import
androidx.compose.foundation.layout.fillMaxHeight
import
androidx.compose.foundation.layout.fillMaxSize
import
androidx.compose.foundation.layout.fillMaxWidth
import
androidx.compose.material.*
import
androidx.compose.runtime.Composable
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.platform.LocalContext
import
androidx.compose.ui.text.style.TextAlign
import
androidx.compose.ui.viewinterop.AndroidView
import
com.example.newcanaryproject.ui.theme.NewCanaryProjectTheme
import
com.example.newcanaryproject.ui.theme.greenColor
import
com.google.android.libraries.maps.CameraUpdateFactory
import
com.google.android.libraries.maps.model.LatLng
import
com.google.android.libraries.maps.model.PolylineOptions
import
com.google.maps.android.ktx.awaitMap
import
kotlinx.coroutines.CoroutineScope
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.launch
class
MainActivity : ComponentActivity() {
var message =
""
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContent {
NewCanaryProjectTheme {
Surface(
modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) {
Scaffold(
topBar = {
TopAppBar(backgroundColor = greenColor,
title = {
Text(
text =
"GFG"
,
modifier = Modifier.fillMaxWidth(),
textAlign = TextAlign.Center,
color = Color.White
)
})
}) {
mapUI(LocalContext.current)
}
}
}
}
}
}
@Composable
fun mapUI(context: Context) {
val mapView = rememberMapViewWithLifecycle()
Column(modifier = Modifier.fillMaxHeight().fillMaxWidth().background(Color.White)) {
AndroidView({ mapView }) { mapView ->
CoroutineScope(Dispatchers.Main).launch {
val map = mapView.awaitMap()
map.uiSettings.isZoomControlsEnabled =
true
val TamWorth = LatLng(-
31.083332
,
150.916672
)
val NewCastle = LatLng(-
32.916668
,
151.750000
)
val Brisbane = LatLng(-
27.470125
,
153.021072
)
map.addPolyline(
PolylineOptions().add(Brisbane, NewCastle, TamWorth, Brisbane)
.width
(5f)
.color(context.getColor(R.color.purple_200))
.geodesic(
true
)
)
map.moveCamera(CameraUpdateFactory.newLatLngZoom(Brisbane, 13f))
}
}
}
}