我想放大地图标记,但出现此错误List <Markers>'不是'String'类型的子类型

时间:2019-11-28 01:49:29

标签: 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(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),
        );
        }
          ),
]
    )
);

}

运行程序时出现此错误:类型“列表”不是类型“字符串”的子类型

0 个答案:

没有答案