React Native Maps liteMode不起作用

时间:2017-07-30 06:39:49

标签: javascript react-native react-native-android react-native-maps

代码

import React from 'react';
import {
  StyleSheet,
  Dimensions,
  ScrollView,
} from 'react-native';

import MapView from 'react-native-maps';

const { width, height } = Dimensions.get('window');

const ASPECT_RATIO = width / height;
const LATITUDE = 37.78825;
const LONGITUDE = -122.4324;
const LATITUDE_DELTA = 0.0922;
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO;

const SAMPLE_REGION = {
  latitude: LATITUDE,
  longitude: LONGITUDE,
  latitudeDelta: LATITUDE_DELTA,
  longitudeDelta: LONGITUDE_DELTA,
};

class Map extends React.Component {
  render() {
    const maps = [];
    for (let i = 0; i < 1; i++) {
      maps.push(
        <MapView
          liteMode={true}
          key={`map_${i}`}
          style={styles.map}
          initialRegion={SAMPLE_REGION}
        />,
      );
    }
    return (
      <ScrollView style={StyleSheet.absoluteFillObject}>
        {maps}
      </ScrollView>
    );
  }
}

const styles = StyleSheet.create({
  map: {
    height: 200,
    marginVertical: 50,
  },
});

export { Map };

错误

元素类型无效:期望字符串(对于内置组件)或类/函数(对于复合组件)但未定义。您可能忘记从其定义的文件中导出组件。

检查MapView的渲染方法。

问题

当我将liteMode道具添加到MapView时,我只会收到此错误。

1 个答案:

答案 0 :(得分:0)

你必须使用

<MapView
          liteMode
          key={`map_${i}`}
          style={styles.map}
          initialRegion={SAMPLE_REGION}
        />

检查该示例文件 https://github.com/airbnb/react-native-maps/blob/master/example/examples/LiteMapView.js