我正在尝试在地图上的两个位置之间创建路径,但我将标记放置在正确的位置,但是由于此错误而未绘制路径。
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
我该如何解决?
答案 0 :(得分: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);
});
});
答案 1 :(得分:0)
由于{
"error_message": "This API project is not authorized to use this API.",
"routes": [],
"status": "REQUEST_DENIED"
}
请确保启用地图api。
答案 2 :(得分:0)
该错误可能是因为未在您的 Google 控制台上启用 Directions API,在我的情况下,我还必须在启用它以显示路线后设置帐单。您还可以使用 300 美元的免费试用额度。