移除定位权限
This commit is contained in:
@@ -1,8 +1,5 @@
|
|||||||
package com.aiosman.riderpro.ui.index.tabs.street
|
package com.aiosman.riderpro.ui.index.tabs.street
|
||||||
|
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
|
||||||
import androidx.compose.foundation.Image
|
import androidx.compose.foundation.Image
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
@@ -33,20 +30,16 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.ColorFilter
|
import androidx.compose.ui.graphics.ColorFilter
|
||||||
import androidx.compose.ui.platform.LocalContext
|
|
||||||
import androidx.compose.ui.platform.LocalDensity
|
import androidx.compose.ui.platform.LocalDensity
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
import androidx.navigation.NavOptions
|
import androidx.navigation.NavOptions
|
||||||
import com.aiosman.riderpro.LocalNavController
|
import com.aiosman.riderpro.LocalNavController
|
||||||
import com.aiosman.riderpro.R
|
import com.aiosman.riderpro.R
|
||||||
import com.aiosman.riderpro.test.countries
|
import com.aiosman.riderpro.test.countries
|
||||||
import com.google.android.gms.location.FusedLocationProviderClient
|
|
||||||
import com.google.android.gms.location.LocationServices
|
|
||||||
import com.google.android.gms.maps.model.CameraPosition
|
import com.google.android.gms.maps.model.CameraPosition
|
||||||
import com.google.android.gms.maps.model.LatLng
|
import com.google.android.gms.maps.model.LatLng
|
||||||
import com.google.maps.android.compose.GoogleMap
|
import com.google.maps.android.compose.GoogleMap
|
||||||
@@ -59,9 +52,6 @@ import com.google.maps.android.compose.rememberCameraPositionState
|
|||||||
@Composable
|
@Composable
|
||||||
fun StreetPage() {
|
fun StreetPage() {
|
||||||
val navController = LocalNavController.current
|
val navController = LocalNavController.current
|
||||||
val context = LocalContext.current
|
|
||||||
val fusedLocationClient: FusedLocationProviderClient =
|
|
||||||
LocationServices.getFusedLocationProviderClient(context)
|
|
||||||
var currentLocation by remember { mutableStateOf<LatLng?>(null) }
|
var currentLocation by remember { mutableStateOf<LatLng?>(null) }
|
||||||
val navigationBarHeight = with(LocalDensity.current) {
|
val navigationBarHeight = with(LocalDensity.current) {
|
||||||
WindowInsets.navigationBars.getBottom(this).toDp()
|
WindowInsets.navigationBars.getBottom(this).toDp()
|
||||||
@@ -71,41 +61,12 @@ fun StreetPage() {
|
|||||||
}
|
}
|
||||||
var hasLocationPermission by remember { mutableStateOf(false) }
|
var hasLocationPermission by remember { mutableStateOf(false) }
|
||||||
var searchText by remember { mutableStateOf("") }
|
var searchText by remember { mutableStateOf("") }
|
||||||
val permissionLauncher = rememberLauncherForActivityResult(
|
|
||||||
contract = ActivityResultContracts.RequestPermission(),
|
|
||||||
onResult = { isGranted ->
|
|
||||||
hasLocationPermission = isGranted
|
|
||||||
if (isGranted) {
|
|
||||||
fusedLocationClient.lastLocation.addOnSuccessListener { location ->
|
|
||||||
if (location != null) {
|
|
||||||
currentLocation = LatLng(location.latitude, location.longitude)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
when (PackageManager.PERMISSION_GRANTED) {
|
|
||||||
ContextCompat.checkSelfPermission(
|
|
||||||
context,
|
|
||||||
android.Manifest.permission.ACCESS_FINE_LOCATION
|
|
||||||
) -> {
|
|
||||||
fusedLocationClient.lastLocation.addOnSuccessListener { location ->
|
|
||||||
if (location != null) {
|
|
||||||
// currentLocation = LatLng(location.latitude, location.longitude)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hasLocationPermission = true
|
|
||||||
}
|
|
||||||
|
|
||||||
else -> {
|
|
||||||
permissionLauncher.launch(android.Manifest.permission.ACCESS_FINE_LOCATION)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
LaunchedEffect(currentLocation) {
|
LaunchedEffect(currentLocation) {
|
||||||
|
|
||||||
cameraPositionState.position =
|
cameraPositionState.position =
|
||||||
CameraPosition.fromLatLngZoom(
|
CameraPosition.fromLatLngZoom(
|
||||||
currentLocation ?: LatLng(
|
currentLocation ?: LatLng(
|
||||||
|
|||||||
Reference in New Issue
Block a user