我使用此函数从数据库中获取(延迟,日志),并将我的信息放入列表中,这是以下代码:
Future <List <Markers>> getMarker() async {
String myUrl = "http://10.25.84.36:5000/api/markers";
var response = await http.get(myUrl,
headers: {
'Accept': 'application/json',
});
var jsonData = json.decode(response.body);
List<Markers> markers =[];
var u;
for( u in jsonData){
u.forEach((v) { Markers marker = Markers(v["id"],v["lag"],v["log"]);
markers.add(marker); });
}
print(markers.length);
print(markers);
return markers;
}
在这里,我想使用通过快照在地图中创建标记的数据:
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
List<dynamic> parsedJson = jsonDecode(snapshot.data);
allMarkers = parsedJson.map((element) {
return Marker(
position: LatLng(double.parse(element['lag']), double.parse(element['log'])));
}).toList();
userLocation == null
?Hero(
tag: 'hero',
child: CircleAvatar(
backgroundColor: Colors.transparent,
radius: 70.0,
child:
Image.asset('assets/logo.png',fit: BoxFit.scaleDown),
),
)
: GoogleMap(
mapType: MapType.normal,
initialCameraPosition: CameraPosition(
target: LatLng(double.parse(userLocation.latitude.toString()),
double.parse(userLocation.longitude.toString())), zoom: 5),
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
markers: Set.from(allMarkers),
);
}
),
]
)
);
}
运行程序时出现此错误:类型“列表”不是类型“字符串”的子类型