Я использую создать собственное приложение для реагирования для запуска этого приложения, но еще не извлечен (на всякий случай сделал резервную копию). Я попытался извлечь этот проект, но ошибка все еще возникает.
Я уже добавил приведенный ниже код в AndroidManifest.xml.
<uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION" />
Я не знаю, подходит ли AndroidManifest.xml в моем проекте, потому что я добавил этот код в
\node_modules\react-native-maps\lib\android\src\main\AndroidManifest.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.info(TAG + "position : " + JSON.stringify(position));
var gps_location = position.coords.latitude + "," + position.coords.longitude;
console.info(TAG + "gps_location : " + JSON.stringify(gps_location));
}, error => {
console.info(TAG + " error in getting location " + error);
}, {
enableHighAccuracy: false, timeout: 20000, maximumAge: 1000
});
Моя проблема возникает в getCurrentPosition.
watchPosition () вы можете использовать этот метод. он даст вам текущее местоположение.
моя позиция не меняется
он даст вам местоположение, не используйте имя, просто попробуйте использовать. нет необходимости менять свое местоположение. По умолчанию он будет указывать местоположение, когда вы используете это в своем методе.
но проект, который я создаю, необходим для отслеживания местоположения пользователя
Попробуйте установить
enableHighAccuracy:false
, а также удаливmaximumAge