【问题标题】:How can I get information from List<Marker> and build markers如何从 List<Marker> 获取信息并构建标记
【发布时间】:2019-11-27 19:30:36
【问题描述】:

这是我的功能:

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 的实例,我想使用这些信息来创建标记,我该怎么做?

【问题讨论】:

    标签: google-maps flutter dart


    【解决方案1】:
    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;
    }
    

    forEach 对列表中的每个元素运行一个函数。 在这种情况下,地图 {id: x, lag: y, log: z}

    【讨论】:

    • 问题是我不知道如何用这些信息创建地图制作者,我所有的尝试都失败了
    • 我不明白你的意思。当您执行 json.decode 时,主体将转换为 json 并创建一个地图数组。我想你想知道如何访问制造商对象的信息。您可以在返回地图的类中创建一个方法。或者你可以让 maker [0] .lag 我将编辑答案。
    猜你喜欢
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2014-01-09
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多