应用程式无法在状态座标上正确呈现地图

时间:2019-09-21 21:45:21

标签: react-native geolocation react-native-maps

这是我的代码。我相信这与异步/等待功能有关,但我不知道。

const App = () => {
  async function getUserLocation() {
    try {
      if(Platform.OS === 'Android') {
        const granted = await PermissionsAndroid.request(
          PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
        );
        if (granted === PermissionsAndroid.RESULTS.GRANTED) {
          console.log('Access granted!');

          Geolocation.getCurrentPosition(
            info => {
              setLat(info.coords.latitude);
              setLng(info.coords.longitude);
            },
            error => {
              console.log(error);
            }
          );
        } else {
          console.log('Access denied!');
        }
      }
    } catch (err) {
      console.warn(err);
    }
  }

  useEffect(() => {
    getUserLocation();
  }, []);

  return (
    {lat && lng &&
      <MapView
        showsUserLocation
        provider={PROVIDER_GOOGLE}
        style={styles.map}
        region={{
          latitude: lat,
          longitude: lng,
          latitudeDelta: 0.040,
          longitudeDelta: 0.020,
        }}
      />
    }
  );
}

地图似乎已加载,但我没有特定位置。只是灰色的东西。

我在做什么错了?

0 个答案:

没有答案