下面的函数通过(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);
});