latlng不能为null-必填

时间:2018-08-01 23:20:48

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

我有一个互动移动应用程序,并使用react-native-maps,我想在应用程序启动时加载标记,但出现latlng cannot be null - a position is required错误。
我想做的是填充数组标记

export default class MapScreen extends React.Component {
constructor(props) {
    super(props);

    this.watchID = navigator.geolocation.watchPosition((position) => {
            console.log(position.coords) // get your showUserLocation here
        },
        (error) => console.log(error.message), GEOLOCATION_SETTINGS
    )



    this.state = {
        region: {
            latitude: LATITUDE,
            longitude: LONGITUDE,
            latitudeDelta: LATITUDE_DELTA,
            longitudeDelta: LONGITUDE_DELTA,
        },
        markers: [{
          title: 'FINISH',
          description: 'You have found me!',
          coordinates: {
           latitude: 14.548100,
           longitude: 121.049906
        }, 
       }]
    }
}

随后将其调用:

                    {this.state.markers.map(marker => (
                    <Marker
                        key={marker.key}
                        coordinate={marker.coordinate}
                        pinColor={marker.color}
                    >
                        {/* Callout est l'infowindow */}
                        <Callout style={styles.plainView}>
                            <View>
                                {/* Texte par défaut pour le moment, à changer (voir ticket MARKER3) */}
                                <Text>
                                    Nom + Coordonnées + click here to see info
                                </Text>
                            </View>
                        </Callout>
                    </Marker>
                ))}

我猜我在markers[]中提供信息的方式是错误的,但是我尝试了我能想到的一切,包括

        markers: [{
         latlng: {
           latitude: 14.548100,
           longitude: 121.049906
       }, 
   }]

仍然告诉我latlng为空。
问题真的是输入语法吗?如何找到正确的一个?

1 个答案:

答案 0 :(得分:1)

您在coordinate={marker.coordinate}上输入了一个错字,应该像在状态上定义的一样coordinate={marker.coordinates}

    markers: [{
      title: 'FINISH',
      description: 'You have found me!',
      coordinates: {
       latitude: 14.548100,
       longitude: 121.049906
    }, 
   }]

您还错过了州的keycolor

    markers: [{
      title: 'FINISH',
      description: 'You have found me!',
      coordinates: {
       latitude: 14.548100,
       longitude: 121.049906
      },
      key: 'YOUR_KEY_VALUE',
      color: 'YOUR_COLOR_VALUE' 
   }]