2

我目前正在使用mapbox https://github.com/mapbox/react-native-mapbox-gl学习带有地图的 react-native 我遵循地图显示的所有内容,如果我给它一个lon并且lat它确实在我的位置上显示了一个位置,emulator但是问题是annotation并且show user location根本不显示。

有谁知道我可能会错过什么?我已经重建了几次应用程序并检查了调试是否没有错误

这是我的简单代码

export default class App extends Component {
    data = [
      { id: '' }
    ];

    render() {
      return (
        <View style={styles.container}>
          <Mapbox.MapView
            showUserLocation={true}
            styleURL={Mapbox.StyleURL.Street}
            zoomLevel={16}
            centerCoordinate={[-123.1118716, 49.2847564]}
            style={styles.container}>
          </Mapbox.MapView>
          <Mapbox.PointAnnotation
            id='1'
            title='nooooooooooooooooooooo'
            coordinate={[-123.1118716, 49.2847560]}
          >
          </Mapbox.PointAnnotation>
        </View>
      );
    }
  }
4

1 回答 1

3

遇到同样的问题,在 Android >=23 上你必须先请求权限

import { PermissionsAndroid } from 'react-native';
...
componentDidMount() {
{
 PermissionsAndroid.requestMultiple(
            [PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
            PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION],
            {
                title: 'Give Location Permission',
            message: 'App needs location permission to find your position.'
        }
    ).then(granted => {
        console.log(granted);
        resolve();
    }).catch(err => {
        console.warn(err);
        reject(err);
    });
}
于 2018-08-04T16:11:05.670 回答