1

我很抱歉,但我对 React Native 还是很陌生,而且我的术语和词汇量仍然相当有限。我目前正在尝试通过从 Firebase 获取数据来生成地图标记。到目前为止,我可以使用变量中的坐标来检索信息完成;但我无法更新listingData. 在调试器模式下,它显示listingData未定义

另外,我不太确定我的代码的第二部分,假设假设调用坐标,listingData然后将标记放在地图上。

如果有人有任何建议,将不胜感激。

非常感谢,

export default class GetMarkers extends Component {  
    constructor(props) {
        super(props);
        this.state = {
            listingData: []
        }
     }

 componentWillMount(){
    let q = firebase.database().ref('profiles');
    q.on('value', (snap) => {
        var finished = []
        snap.forEach((data) => {
        let result = data.val();
        result["key"] = data.key;
        finished.push(result);
        })
        this.setState({
        listingData: finished
        })
    })
}

render() {
    return(
        <MapView>
            {this.state.listingData.map(x => (
              <MapView.Marker
                title={x.fName}
                key={x.key}
                description={'Test'}
                coordinate={{
                  latitude: x.lat,
                  longitude: x.lon
                }} />
          ))
        }
        </MapView>
    )
  }
}
4

0 回答 0