2016-12-17 4 views
1

Я, должно быть, уже по крайней мере 3 часа, и абсолютно ничего, что я нашел в Интернете, помогло. Некоторые общие рекомендации заключались в том, чтобы удалить третий обратный вызов функции getCurrentPosition() или установить highAccuracy на значение false. Использование telnet для фиксации геопозиции. Я установил правильное разрешение в моем файле манифеста, и я просто не могу получить ничего, кроме ошибки Request Timed Out, Code: 3 ...Geolocation on React Native ВСЕГДА раз?

Вот код для получения местоположения (который я визуализирую на другом компоненте в отдельном файле .. .

class GeolocationExample extends React.Component { 
state = { position: [] }; 

componentDidMount() { 
navigator.geolocation.getCurrentPosition(
    (location) => { 
     console.log(location); 
     this.setState({position: location}); 
    }, 
    (error) => console.log(error) 
    ); 
} 



render() { 
return (
    <View> 
    <Text> 
     <Text style={styles.title}>Initial position: </Text> 
     {this.state.position} 
    </Text> 
    </View> 
); 
} 
} 

Я шел на это некоторое время теперь так что любая помощь будет оценен по достоинству!

+0

Можете ли вы подтвердить, действительно ли вы используете эмулятор или реальное устройство? – manosim

+0

эмулятор @manosim, ive попытался изменить режим местоположения на «сохранение батареи», «высокую точность» и «только устройство». – LukeCage

ответ

1

Я столкнулся с той же проблемой несколько дней назад. Вот как я это решил.

В вашем эмуляторе вы должны увидеть меню параметров внизу. Нажмите на нее. Вы увидите вкладку для местоположения, где вы можете ввести lat и long. Всякий раз, когда вы запрашиваете местоположение в своем коде, нажмите «Отправить» справа. Посылка будет работать только тогда, когда она отправляется после того, как вы запросили местоположение.

enter image description here enter image description here

0

Я хотел бы начать с среагировать родной документации вокруг Geolocation. Они даже предоставляют полный пример того, как использовать его, который должен работать как есть.

Кроме этого, я также предлагаю проверить, что вы установили правильные разрешения в AndroidManifest.xml. Убедитесь, что вы перезапустили приложение, как только вы добавили строку ниже.

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

Вашего код выглядит нормально, так может быть, это просто разрешение?

+0

Да, мой код в основном из их документации, я добавил разрешение и перезапустил приложение несколько раз ... просто так озадачен. – LukeCage

Смежные вопросы