在本机中获得GPS准确度

时间:2017-01-01 11:40:49

标签: react-native geolocation

是否有可能在天然地理定位中获得GPS精度?我想知道在任何给定时间内结果可能有多少米,但我无法找到它是否可能。

3 个答案:

答案 0 :(得分:1)

是。您可以通过调用 React Native

getCurrentPosition()Geolocation方法获得准确性

此方法允许我们随时请求用户的位置。它接受三个参数 - 成功回调,错误回调和配置对象。成功回调将传递一个看起来像这样的对象:

{
  "timestamp": 1484669056399.49,
  "coords": {
    "accuracy": 5,
    "altitude": 0,
    "altitudeAccuracy": -1,
    "heading": -1,
    "latitude": 37.785834,
    "longitude": -122.406417,
    "speed": -1
  }
}

答案 1 :(得分:0)

这里是使用navigator.geolocation.getCurrentPosition的示例 我正在填充要与react-native-maps MapView组件一起使用的标记的集合。

async _mapLocation() {
        Alert.alert(''+this.state.markers.length);

        await navigator.geolocation.getCurrentPosition(
            position => {
                var x: LatLng = {
                    latitude: position.coords.latitude,
                    longitude: position.coords.longitude,
                };

                var tempMarkers = this.state.markers;
                tempMarkers.push({latlng: x, title: '', description: ''});
                this.setState({markers: tempMarkers});
            },
            error => {
                Alert.alert(error.message);
            },
            { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
        )
    }

答案 2 :(得分:-1)

网状物的GPS误差可能非常不同。它可以是4到甚至40米。这一切都取决于你正在使用的设备的类别,背后的数学精确度,甚至从你移动或你站着不动。 您可以阅读GPS标准的规格以获得更多信息,但从我的角度来看,不可能说X是结果中的固定错误。您应该专注于允许最小化此错误的数学,例如您可以使用低通滤波器和/或卡尔曼滤波器