问题描述
我想抓取所有文档的经纬度并显示在颤振图(传单)中。
FlutterMap(
options: MapOptions(
center: latLng.LatLng(51.5,-0.09),zoom: 13.0,),layers: [
TileLayerOptions(
urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",subdomains: ['a','b','c']),MarkerLayerOptions(
markers: [
Marker(
width: 80.0,height: 80.0,point: latLng.LatLng(51.5,builder: (ctx) => Container(
child: Icon(
Icons.circle,size: 30,color: dc,],);
我将第 15 行仅用作示例,我想访问所有用户的 lat long 。请帮助,并提前致谢
解决方法
- 首先,您必须为您的
shopkeepers
获取文档。 - 然后,遍历这些文档,提取您的 lat 和 lng 值,并将它们添加到列表中。
Future<List<LatLng>> getCordsFromFirebase() async {
List<LatLng> coordinatesList=[];
var results = await FirebaseFirestore.instance.collection('shopkeepers').get();
for (DocumentSnapshot item in results.docs){
coordinatesList.add(LatLng(item.data()['latitidue'],item.data()['longitude]));
}
print('Length of cords list is: ' + coordinatesList.length.toString());//
return coordinatesList;
}