操作员'[]'是't为类型'未来<映射<字符串,动态>>'



我收到这个错误,不知道如何解决:

var directions = LocationService().getDirections(
_originController.text, _destinationController.text);
_goToPlace(directions['start_location']['lat'], directions['start_location']['lng']);
setPolyline(directions['polyline_decoded']);
},

下面是_goToPlace((方法的代码:

Future<void> _goToPlace(double lat, double lng) async {
final GoogleMapController controller = await _controllerGoogleMap.future;
controller.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(
target: LatLng(lat, lng),
zoom: 12,
),
),
);
}

将函数标记为async,并在getDirections 之前放置一个等待

await LocationService().getDirections(
_originController.text, _destinationController.text);

你的getDirections返回一个Future,所以你必须等待它。