【发布时间】:2019-05-10 04:45:13
【问题描述】:
我试图从 firebase 获取数据,但是当我在 initState 中对其进行初始化时,该函数不起作用。
我尝试给它调试打印,它没有显示在终端中,并且在我运行应用程序时没有错误或警告。
void _getMarker() {
StreamBuilder(
stream: Firestore.instance
.collection('contentislamis')
.where('kategori', isEqualTo: 'Landmark')
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.green)));
} else {
for (int i = 0; i < snapshot.data.documents.length; i++) {
_addMarkers(snapshot.data.documents[i]);
print("${snapshot.data.documents.length} markers added");
}
}
});
}
这是显示标记的功能
void _addMarkers(DocumentSnapshot markData) {
final String markerIdVal = markData.documentID.toString();
final MarkerId markerId = MarkerId(markerIdVal);
double lat = double.tryParse(markData['posLat'].toString());
double long = double.tryParse(markData['posLong'].toString());
final Marker marker = Marker(
markerId: markerId,
position: LatLng(
lat,
long,
),
infoWindow: InfoWindow(
title: markData['judul'].toString(),
snippet: markData['posLat'] + markData['posLong']
),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueRed)
);
setState(() {
markers[markerId] = marker;
});
}
【问题讨论】:
-
你不必初始化流
-
我该怎么办? @RubensMelo
-
你试过看快照有没有错误?
-
是的,我试过了,但没有发现错误@Hosar