如何在本机中不断更新我的gps坐标?

时间:2017-07-26 18:15:55

标签: javascript android react-native gps

我正在创建一个本机应用程序,它内置了用于获取经度和纬度坐标的方法。我正在使用Android。

即使我使用的是setInterval,我也不是随机工作的。有时它只在我四处走动时才会响应,有时它会在我不动的时候正确更新。

import React, { Component } from 'react';
import { View, Text } from 'react-native';


class Geolocation extends Component {
  constructor(props) {
    super(props);

   this.state = {
      latitude: null,
      longitude: null,
      error: null
    };

   setInterval(this.location.bind(this),3000)
  }

 location(){
    this.watchId = navigator.geolocation.getCurrentPosition(
      (position) => {
        let obj = {
          latitude: position.coords.latitude,
          longitude: position.coords.longitude,
          error: null
        }
        this.setState(obj);
      },
      (error) => this.setState({ error: error.message }),
      { enableHighAccuracy: true, timeout: 200000, maximumAge: 1000},
    );
  }

 componentDidMount() {
    this.location()
  }

 componentWillUnmount() {
    navigator.geolocation.clearWatch(this.watchId);
  }

 render() {
    return (

             <View style={{ position: 'relative', top: 70, flexGrow: 1, 
alignItems: 'center', justifyContent: 'center' }}>
              <Text>Latitude: {this.state.latitude}</Text>
              <Text>Longitude: {this.state.longitude}</Text>
                {this.state.error ? <Text>Error: {this.state.error}</Text> : null}
             </View>

    );
  }
}

export default Geolocation;

我的问题再次是位置没有正确更新,我已尝试过wifi和我的手机4g数据并且没有变化。

如何定期更新位置坐标?

非常感谢任何帮助!

0 个答案:

没有答案