位置请求在"获取当前位置"中超时



我正在使用创建反应本机应用程序来运行此应用程序,但尚未弹出(我已经备份以防万一(。我尝试弹出此项目,但仍然出现错误。

我已经在AndroidManifest.xml中添加了下面的代码。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

我不知道我的项目中的 AndroidManifest.xml 是否正确,因为我在

node_modulesreact-native-mapslibandroidsrcmainAndroidManifest.xml

这是我的代码:

watchID = null
componentDidMount(){
navigator.geolocation.getCurrentPosition((position) => {
var lat = parseFloat(position.coords.latitude);
var long = parseFloat(position.coords.longitude);
var initialRegion = {
latitude: lat,
longitude: long,
latitudeDelta: latitude_Delta,
longitudeDelta: longitude_Delta,
}
this.setState({initialPosition: initialRegion});
this.setState({markerPosition: initialRegion});
},
(error) => {alert('Current Location: ERROR(' + error.code + '): ' + error.message)},
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
)
this.watchID = navigator.geolocation.watchPosition((position) => {
var lat = parseFloat(position.coords.latitude);
var long = parseFloat(position.coords.longitude);
var lastRegion = {
latitude: lat,
longitude: long,
latitudeDelta: latitude_Delta,
longitudeDelta: longitude_Delta,
}
this.setState({initialPoisition: lastRegion});
this.setState({markerPosition: lastRegion});  
},
(error) => {alert('Watch Position: ERROR(' + error.code + '): ' + error.message)},
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000, distanceFilter: 10 }) 
}
componentWillUnmount(){
navigator.geolocation.clearWatch(this.watchID)
}

它对我有用,

_this.watchID = navigator.geolocation.watchPosition((position) => {
console.log(TAG + "position : " + JSON.stringify(position));
var gps_location = position.coords.latitude + "," + position.coords.longitude;
console.log(TAG + "gps_location : " + JSON.stringify(gps_location));
}, error => {
console.log(TAG + " error in getting location " + error);            
}, {
enableHighAccuracy: false, timeout: 20000, maximumAge: 1000
});

最新更新