У меня есть этот метод для получения текущего местоположения, нажав кнопку, он получит текущее местоположение. Я хочу получить местоположение, не нажимая эту кнопку.
getLocationHandler = () =>{
navigator.geolocation.getCurrentPosition(pos =>{
const coordsEvent = {
nativeEvent :{
coordinate : {
latitude : pos.coords.latitude,
longitude : pos.coords.longitude
}
}
};
this.pickLocationHandler(coordsEvent);
},
err => {
console.info(err);
alert("Fetching the position failed,Please pick one manually")
})
}
Я хочу отображать текущее местоположение при открытии экрана карты





Вам нужно сохранить местоположение в состоянии и запрашивать его при монтировании вашего компонента.
С react-native-maps получение местоположения является асинхронной задачей, поэтому вам понадобится такое решение:
constructor(props){
super(props);
state = {
myLocation: null
};
}
componentDidMount = () => {
this.getMyLocation();
};
getMyLocation = async () => {
let { status } = await Permissions.askAsync(Permissions.LOCATION);
if (status !== 'granted') {
this.setState({
myLocation: 'Permission denied',
});
}
let location = await Location.getCurrentPositionAsync({});
this.setState({
myLocation: JSON.stringify(location)
});
};
Ооооооо или вы могли бы погуглить
react-native-maps get current location
И обнаружил эту проблему github: https://github.com/react-community/react-native-maps/issues/1183
Между прочим, кредиты на ответ на вопрос github. Ура, Вивекбурада!
Вы хотите получать местоположение на периодической основе? После определенного события?