react-native-maps geolocation.watchPosition()永远不会更新

时间:2018-04-17 14:08:06

标签: geolocation react-native-maps

我现在已经尝试了几个小时来让geolocation.watchPosition()实际触发超出最初的第一个componentDidMount()触发器。我已经阅读了我能找到的所有指南,就我所知,我正在做人们建议的所有事情。

以下是代码:

componentDidMount() {
    this.watchId = navigator.geolocation.watchPosition(
        (position) => {
            let region = {
                latitude:       position.coords.latitude,
                longitude:      position.coords.longitude,
                latitudeDelta:  0.02500,
                longitudeDelta: 0.01000,
                enableHighAccuracy: true
            }
            this.state.currentLatitude = region.latitude;
            this.state.currentLongitude = region.longitude;
            console.log("WatchPosition Triggered");
            this.onRegionChangeComplete(region, region.latitude, region.longitude);
        },
        (error) => this.setState({ error: error.message }),
        { enableHighAccuracy: true, timeout: 5000, maximumAge: 4000, distanceFilter: 1, useSignificantChanges: false },
    );
}

onRegionChangeComplete(region, lastLat, lastLong) {
    this.setState({
        mapRegion: region,
        lastLat: lastLat || this.state.lastLat,
        lastLong: lastLong || this.state.lastLong
    });
}

我有那个console.log,所以每次这个功能在应用程序中实际触发时我都可以看到,它只是超出了地图屏幕加载的第一个实例。我试过四处走动,确认我的位置跟踪完美,但这个功能永远不会再次触发。

我错过了什么吗?我无法在任何例子中找到任何不同的东西。

如果可以,请帮助我,我正在倾注这个问题。

0 个答案:

没有答案