1

我正在尝试实现 react-native-maps 并提出此错误。我以前使用过这个组件,没有标题中描述的错误。这都在一个类组件中,然后我将其导出。

componentDidMount() {
    navigator.geolocation.getCurrentPosition(
        ({ coords }) => {
            const { latitude, longitude } = coords

            this.setState({
                position: {
                    latitude,
                    longitude,
                },
                region: {
                    latitude,
                    longitude,
                    latitudeDelta: 0.0922,
                    longitudeDelta: 0.0421,
                },
            })
        },
        (error) => alert(JSON.stringify(error)),
        { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
    )
}

render() {

    const { region, position } = this.state

    return (
        <View>
            <MapView
                style={styles.map}
                region={region}
            >
                {position && (
                    <MapView.Circle
                        center={position}
                        radius={300}
                        strokeColor={'transparent'}
                        fillColor={'rgba(112,185,213,0.30)'}
                    />
                )}
                {position && (
                    <MapView.Circle
                        center={position}
                        radius={100}
                        strokeColor={'transparent'}
                        fillColor={'#3594BC'}
                    />
                )}
            </MapView>
        </View>
    )
}

}

4

1 回答 1

0

首先,您必须在 android 第二次更改中获得位置权限

 { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }

对此:

{ enableHighAccuracy: false, timeout: 20000, maximumAge: 5000 }
于 2021-07-27T19:03:14.843 回答