@@ -39,14 +39,21 @@ internal class MapPropertiesNode(
39
39
style : Style ,
40
40
context : Context ,
41
41
cameraPositionState : CameraPositionState ,
42
+ locationSettings : MapLocationSettings ,
42
43
) : MapNode {
43
44
44
45
init {
45
46
map.locationComponent.activateLocationComponent(
46
47
LocationComponentActivationOptions .Builder (context, style)
47
48
.locationComponentOptions(
48
49
LocationComponentOptions .builder(context)
49
- .pulseEnabled(true )
50
+ .backgroundTintColor(locationSettings.backgroundTintColor.toArgb())
51
+ .foregroundTintColor(locationSettings.foregroundTintColor.toArgb())
52
+ .backgroundStaleTintColor(locationSettings.backgroundStaleTintColor.toArgb())
53
+ .foregroundStaleTintColor(locationSettings.foregroundStaleTintColor.toArgb())
54
+ .accuracyColor(locationSettings.accuracyColor.toArgb())
55
+ .pulseEnabled(locationSettings.pulseEnabled)
56
+ .pulseColor(locationSettings.pulseColor.toArgb())
50
57
.build()
51
58
)
52
59
.locationEngineRequest(
@@ -116,9 +123,9 @@ internal class MapPropertiesNode(
116
123
@Composable
117
124
internal inline fun MapUpdater (
118
125
cameraPositionState : CameraPositionState ,
119
- mapLocationSettings : MapLocationSettings ,
120
- mapUiSettings : MapUiSettings ,
121
- mapSymbolManagerSettings : MapSymbolManagerSettings ,
126
+ locationSettings : MapLocationSettings ,
127
+ uiSettings : MapUiSettings ,
128
+ symbolManagerSettings : MapSymbolManagerSettings ,
122
129
) {
123
130
val mapApplier = currentComposer.applier as MapApplier
124
131
val map = mapApplier.map
@@ -132,21 +139,22 @@ internal inline fun MapUpdater(
132
139
style = style,
133
140
context = context,
134
141
cameraPositionState = cameraPositionState,
142
+ locationSettings = locationSettings,
135
143
)
136
144
},
137
145
update = {
138
- set(mapLocationSettings .locationEnabled) { map.locationComponent.isLocationComponentEnabled = it }
146
+ set(locationSettings .locationEnabled) { map.locationComponent.isLocationComponentEnabled = it }
139
147
140
- set(mapUiSettings .compassEnabled) { map.uiSettings.isCompassEnabled = it }
141
- set(mapUiSettings .rotationGesturesEnabled) { map.uiSettings.isRotateGesturesEnabled = it }
142
- set(mapUiSettings .scrollGesturesEnabled) { map.uiSettings.isScrollGesturesEnabled = it }
143
- set(mapUiSettings .tiltGesturesEnabled) { map.uiSettings.isTiltGesturesEnabled = it }
144
- set(mapUiSettings .zoomGesturesEnabled) { map.uiSettings.isZoomGesturesEnabled = it }
145
- set(mapUiSettings .logoGravity) { map.uiSettings.logoGravity = it }
146
- set(mapUiSettings .attributionGravity) { map.uiSettings.attributionGravity = it }
147
- set(mapUiSettings .attributionTintColor) { map.uiSettings.setAttributionTintColor(it.toArgb()) }
148
+ set(uiSettings .compassEnabled) { map.uiSettings.isCompassEnabled = it }
149
+ set(uiSettings .rotationGesturesEnabled) { map.uiSettings.isRotateGesturesEnabled = it }
150
+ set(uiSettings .scrollGesturesEnabled) { map.uiSettings.isScrollGesturesEnabled = it }
151
+ set(uiSettings .tiltGesturesEnabled) { map.uiSettings.isTiltGesturesEnabled = it }
152
+ set(uiSettings .zoomGesturesEnabled) { map.uiSettings.isZoomGesturesEnabled = it }
153
+ set(uiSettings .logoGravity) { map.uiSettings.logoGravity = it }
154
+ set(uiSettings .attributionGravity) { map.uiSettings.attributionGravity = it }
155
+ set(uiSettings .attributionTintColor) { map.uiSettings.setAttributionTintColor(it.toArgb()) }
148
156
149
- set(mapSymbolManagerSettings .iconAllowOverlap) { symbolManager.iconAllowOverlap = it }
157
+ set(symbolManagerSettings .iconAllowOverlap) { symbolManager.iconAllowOverlap = it }
150
158
151
159
update(cameraPositionState) { this .cameraPositionState = it }
152
160
}
0 commit comments