В настоящее время я работаю над проектом, который использует службу геолокации моего телефона.
У меня в настоящее время есть проблема с этим сервисом, он говорит, что геолокация не авторизована.
Я пытался посмотреть в интернете, и у некоторых людей была такая же проблема, но мне не удалось ее исправить ...
componentDidMount() {
const { coordinate } = this.state;
this.requestCameraPermission();
this.watchID = navigator.geolocation.watchPosition(
position => {
const { routeCoordinates, distanceTravelled } = this.state;
const { latitude, longitude } = position.coords;
const newCoordinate = {
latitude,
longitude
};
console.log({ newCoordinate });
coordinate.timing(newCoordinate).start();
this.setState({
latitude,
longitude,
routeCoordinates: routeCoordinates.concat([newCoordinate]),
distanceTravelled:
distanceTravelled + this.calcDistance(newCoordinate),
prevLatLng: newCoordinate
});
},
error => console.log(error),
{
enableHighAccuracy: true,
timeout: 20000,
maximumAge: 1000,
distanceFilter: 10
}
);
}
Вместо того, чтобы появляться в моем текущем месте, я нахожусь в Сан-Франциско (который является местоположением по умолчанию на картах).
Функция navigator.geolocation.watchPosition получает ошибку:
"код": "E_LOCATION_UNAUTHORIZED",
"message": "Не разрешено пользоваться услугами определения местоположения",
"watchId": 1,
Мой телефон - Samsung S9, и служба определения местоположения включена ... Так что мне действительно любопытно, какая у меня проблема сейчас.