Exception:RangeError(index):无效值:有效值范围为空:0

问题描述 投票:0回答:1

我正在尝试在地图上的两个位置之间创建路径,但我将标记放置在正确的位置上,但由于此错误而未绘制路径。

setPolylines() async 
{   
  List<PointLatLng> result = await
    polylinePoints.getRouteBetweenCoordinates(
      googleAPIKey,
      SOURCE_LOCATION.latitude, 
      SOURCE_LOCATION.longitude,
      DEST_LOCATION.latitude, 
      DEST_LOCATION.longitude
    );   

    if(result.isNotEmpty){      
      result.forEach((PointLatLng point){
        polylineCoordinates.add(
          LatLng(point.latitude, point.longitude));
      });
    }

    setState(() {
      Polyline polyline = Polyline(
        polylineId: PolylineId("poly"),
        color: Color.fromARGB(255, 40, 122, 198),
        points: polylineCoordinates
      );
      _polylines.add(polyline);    
    });
}

未处理的异常:异常:RangeError(索引):无效值:有效值范围为空:0

我应该如何解决这个问题?

list google-maps flutter dart google-polyline
1个回答
0
投票

尝试一下。

 await
    polylinePoints.getRouteBetweenCoordinates(
      googleAPIKey,
      SOURCE_LOCATION.latitude, 
      SOURCE_LOCATION.longitude,
      DEST_LOCATION.latitude, 
      DEST_LOCATION.longitude
    ).then((result){

if(result.isNotEmpty){      
  result.forEach((PointLatLng point){
    polylineCoordinates.add(
      LatLng(point.latitude, point.longitude));
  });
}

setState(() {
  Polyline polyline = Polyline(
    polylineId: PolylineId("poly"),
    color: Color.fromARGB(255, 40, 122, 198),
    points: polylineCoordinates
  );
  _polylines.add(polyline);    
});
   });
© www.soinside.com 2019 - 2024. All rights reserved.