下面的函数通过(For循环)从Firebase真实数据库中获取标记,此函数我从创建的Google Map或Google Map中的markers参数中调用它,但是它不显示数据库中的标记,因此如何操作

_getMarkers()async{
    final locationReference=FirebaseDatabase.instance.reference().child('users');

    final String markerIdVal = 'marker_id_$_markerIdCounter';
    _markerIdCounter++;
    final MarkerId markerId = MarkerId(markerIdVal);

    for(var items in locationReference.child("path")){
      _markers2.add(Marker(
        markerId: markerId,
        position: LatLng(items.longitude,items.latitude),
        infoWindow: InfoWindow(title: "${items.restaurantname}"),
        onTap: () {
          _onMarkerTapped(markerId);
        },
        onDragEnd: (LatLng position) {
          _onMarkerDragEnd(markerId, position);
        },

      ));
    }
  }

最佳答案

您没有从实时数据库中检索任何内容,必须使用once()来检索:

    final locationReference=FirebaseDatabase.instance.reference().child('users');
     locationReference.once().then((result){
          print(result.value);
        });

07-24 14:57