我想在我的应用程序中渲染我的纬度和经度。
我使用了地理定位,但没有得到正确的回应
这是 GeoLocationAPI.js
import { StyleSheet, Text, View, TouchableOpacity, PermissionsAndroid, Platform } from 'react-native';
import Geolocation from '@react-native-community/geolocation';
const GeoLocationAPI = () => {
const [latitude, setLatitude] = useState(null);
const [longitude, setLongitude] = useState(null);
// 위치 권한 요청 함수
const requestLocationPermission = async () => {
try {
if (Platform.OS === 'android') {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
{
title: 'Location Permission',
message: 'This app needs to access your location.',
buttonPositive: 'OK',
},
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
// 권한 허용되면 위치 정보 가져오기
geoLocation();
} else {
console.log('Location permission denied.');
}
} else {
// iOS에서는 이미 Info.plist에 권한을 설정했으므로 따로 처리할 필요 없음
geoLocation();
}
} catch (err) {
console.warn(err);
}
};
// 위치 정보 가져오기 함수
const geoLocation = () => {
Geolocation.getCurrentPosition(
position => {
const { latitude, longitude } = position.coords;
setLatitude(latitude);
setLongitude(longitude);
},
error => {
console.log(error.code, error.message);
},
{ enableHighAccuracy: true, timeout: 15000, maximumAge: 10000 },
);
};
return (
<View style={styles.container}>
<Text>Latitude: {latitude}</Text>
<Text>Longitude: {longitude}</Text>
<TouchableOpacity onPress={requestLocationPermission}>
<Text style={styles.buttonText}>Get GeoLocation</Text>
</TouchableOpacity>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
buttonText: {
fontSize: 20,
marginTop: 20,
color: 'blue',
},
});
export default GeoLocationAPI;
但是结果是这样的。
“位置权限被拒绝。”
我尝试添加console.log(已授予)
但是结果是这样的。
我尝试添加
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
在我的 AndroidManifest.xml 中
确保您已配置此项,如果没有,请将其添加到您的“AndroidManifest.xml”文件中。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />