Приложение не отображает карту правильно по координатам штата - PullRequest
0 голосов
/ 22 сентября 2019

Вот мой код.Я полагаю, что это как-то связано с функциями асинхронности / ожидания, но я не могу понять это.

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,
        }}
      />
    }
  );
}

Карта, кажется, загружается, но у меня нет определенного местоположения.Это просто серая штука.

что я делаю не так?

...