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。我将编辑答案。