@@ -20,7 +20,9 @@ import androidx.activity.compose.setContent
2020import androidx.compose.animation.AnimatedVisibility
2121import androidx.compose.animation.EnterTransition
2222import androidx.compose.animation.fadeOut
23+ import androidx.compose.foundation.BorderStroke
2324import androidx.compose.foundation.background
25+ import androidx.compose.foundation.border
2426import androidx.compose.foundation.layout.Box
2527import androidx.compose.foundation.layout.fillMaxSize
2628import androidx.compose.foundation.layout.padding
@@ -34,15 +36,10 @@ import androidx.compose.runtime.setValue
3436import androidx.compose.ui.Alignment
3537import androidx.compose.ui.Modifier
3638import androidx.compose.ui.unit.dp
37- import com.google.android.gms.maps.model.CameraPosition
38- import com.google.android.gms.maps.model.LatLng
39+ import com.google.maps.android.compose.widgets.DarkGray
3940import com.google.maps.android.compose.widgets.DisappearingScaleBar
4041import com.google.maps.android.compose.widgets.ScaleBar
4142
42- private const val TAG = " ScaleBarActivity"
43-
44- private const val zoom = 8f
45-
4643class ScaleBarActivity : ComponentActivity () {
4744
4845 override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -56,6 +53,9 @@ class ScaleBarActivity : ComponentActivity() {
5653 position = defaultCameraPosition
5754 }
5855
56+ val scaleBackground = MaterialTheme .colors.background.copy(alpha = 0.4f )
57+ val scaleBorderStroke = BorderStroke (width = 1 .dp, DarkGray .copy(alpha = 0.2f ))
58+
5959 Box (Modifier .fillMaxSize()) {
6060 GoogleMap (
6161 modifier = Modifier .matchParentSize(),
@@ -64,18 +64,45 @@ class ScaleBarActivity : ComponentActivity() {
6464 isMapLoaded = true
6565 }
6666 )
67- DisappearingScaleBar (
67+
68+ Box (
6869 modifier = Modifier
69- .padding(top = 5 .dp, start = 10 .dp)
70- .align(Alignment .TopStart ),
71- cameraPositionState = cameraPositionState
72- )
73- ScaleBar (
70+ .padding(top = 5 .dp, start = 5 .dp)
71+ .align(Alignment .TopStart )
72+ .background(
73+ scaleBackground,
74+ shape = MaterialTheme .shapes.medium
75+ )
76+ .border(
77+ scaleBorderStroke,
78+ shape = MaterialTheme .shapes.medium
79+ ),
80+ ) {
81+ DisappearingScaleBar (
82+ modifier = Modifier .padding(end = 4 .dp),
83+ cameraPositionState = cameraPositionState
84+ )
85+ }
86+
87+ Box (
7488 modifier = Modifier
75- .padding(top = 5 .dp, end = 15 .dp)
76- .align(Alignment .TopEnd ),
77- cameraPositionState = cameraPositionState
78- )
89+ .padding(top = 5 .dp, end = 5 .dp)
90+ .align(Alignment .TopEnd )
91+ .background(
92+ scaleBackground,
93+ shape = MaterialTheme .shapes.medium,
94+ )
95+ .border(
96+ scaleBorderStroke,
97+ shape = MaterialTheme .shapes.medium
98+ ),
99+ ) {
100+ ScaleBar (
101+ modifier = Modifier .padding(end = 4 .dp),
102+ cameraPositionState = cameraPositionState
103+ )
104+
105+ }
79106 if (! isMapLoaded) {
80107 AnimatedVisibility (
81108 modifier = Modifier
0 commit comments