Google maps 如何从列表中获取信息<;标记>;并建立标记

Google maps 如何从列表中获取信息<;标记>;并建立标记,google-maps,flutter,dart,Google Maps,Flutter,Dart,这是我的职责: 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(respons

这是我的职责:

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;
Future getMarker()异步{
字符串myUrl=”http://10.25.84.36:5000/api/markers";
var response=wait http.get(myUrl,
标题:{
“接受”:“应用程序/json”,
});
var jsonData=json.decode(response.body);
列表标记=[];
var u;
用于(单位:jsonData){
u、 forEach((v){Markers marker=Markers(v[“id”]、v[“lag”]、v[“log”]);
标记。添加(标记);});
}
打印(标记。长度);
印刷品(标记);
返回标记;
}

它返回Future的一个实例,我想用这个信息创建标记,我该怎么做

类标记{
class Markers {
  int id;
  int lag;
  String log;

  Markers({this.id, this.lag, this.log});

  Markers.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    lag = json['lag'];
    log = json['log'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['lag'] = this.lag;
    data['log'] = this.log;
    return data;
  }
}

 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 = [];

    // assuming you have the following json: [{"id": 1, "lag": 100, "log": "bla"}, {"id": 2, "lag": 110, "log": "bla2 "}, {" id ": 3," lag ": 90," log ":" bla "}]

      jsonData.forEach((v) => markers.add(Markers.fromJson(v)));


    print(markers.length);
    markers.forEach((v) => print(v.toJson()));
    return markers;
}
int-id; 智力滞后; 字符串日志; 标记({this.id,this.lag,this.log}); Markers.fromJson(映射json){ id=json['id']; lag=json['lag']; log=json['log']; } 映射到JSON(){ 最终地图数据=新地图(); 数据['id']=this.id; 数据['lag']=this.lag; 数据['log']=this.log; 返回数据; } } Future getMarker()异步{ 字符串myUrl=”http://10.25.84.36:5000/api/markers"; var response=wait http.get(myUrl, 标题:{ “接受”:“应用程序/json”, }); var jsonData=json.decode(response.body); 列表标记=[]; //假设您有以下json:[{“id”:1,“lag”:100,“log”:“bla”},{“id”:2,“lag”:110,“log”:“bla2”},{“id”:3,“lag”:90,“log”:“bla”}] forEach((v)=>markers.add(markers.fromJson(v)); 打印(标记。长度); markers.forEach((v)=>print(v.toJson()); 返回标记; }
forEach对列表中的每个元素运行一个函数。
在本例中,映射{id:x,lag:y,log:z}

问题是我不知道如何使用这些信息创建映射生成器,我所有的尝试都失败了,我不明白你的意思。执行json.decode时,主体将转换为json并创建一个映射数组。我想您想知道如何访问maker对象的信息。您可以在类中创建一个返回映射的方法。或者,您可以直接将makers[0]设置为lag。我将编辑答案。