【发布时间】:2020-03-22 05:48:38
【问题描述】:
我在我的 Flutter 项目中使用 Google 地图。我正在尝试在我的资产中解析一个 json 文件,以便我可以在折线中使用它的纬度和经度。我写了以下代码,当我把它变成未来时,如下:
Future getPoints() async {
List<dynamic> parsedJson = jsonDecode(
'assets/busStops/stops_${widget.selectStation}.json');
List<Marker> allMarkersByPosition = [];
parsedJson.forEach((element) {
List<dynamic> coords = element["bs"];
coords.forEach((i) {
double lat = double.tryParse(i["latitude"]);
double lng = double.tryParse(i["longitude"]);
return [
LatLng(lat ?? 0.0, lng ?? 0.0),
];
});
});
}
并在此处引用 getPoints():
child: FutureBuilder(
future:
_future,
builder: (context, AsyncSnapshot snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
List<dynamic> parsedJson = jsonDecode(snapshot.data);
allMarkers = parsedJson.map((element) {
return Marker(
icon: customIcon,
markerId: MarkerId(element["Latitude"].toString()),
position: LatLng(element['Latitude'] ?? 0.0,
element['Longitude'] ?? 0.0));
}).toList();
return GoogleMap(
initialCameraPosition: CameraPosition(
target: LatLng(-26.1711459, 27.9002758), zoom: 9.0),
markers: Set.from(allMarkers),
onMapCreated: mapCreated,
polylines: Set<Polyline>.of(<Polyline>[
Polyline(
polylineId: PolylineId('line'),
points: getPoints(),
visible: true,
color: Colors.blue
)
]),
);
},
),
我收到错误:参数类型“Future”不能分配给参数类型“List”
【问题讨论】:
标签: json google-maps flutter dart polyline