我正在尝试通过运行以下代码段来获取当前的地理位置
export default class LocationTracking extends Component {
constructor(props) {
super(props);
this.state = { latitude: '',
longitude: ''
};
}
componentWillMount() {
navigator.geolocation.getCurrentPosition(
function (position) {
this.setState({ latitude: position.coords.latitude,
longitude: position.coords.longitude
});
}.bind(this),
(error) => console.log(error.message),
{
enableHighAccuracy: true,
timeout: 5000
}
);
}
render() {
return (
<View >
<MapView
style={styles.container}
region={{
latitude: Number(this.state.latitude),
longitude: Number(this.state.longitude),
latitudeDelta: 5.12,
longitudeDelta: 5.032,
/>
</View>
);
}
}
我在AndroidManifest.xml中设置了如下权限,
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
然而它总是返回纬度:0,经度:0(默认位置我假设)。相同的代码在模拟器中工作正常,但在我的Android设备中没有。
设备名称:Huwai(Honor 4x) Android版本:6.0.1
我应该在代码中改进哪些内容才能使其在移动设备上运行?