2021年4月8日星期四

ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: RangeError (index): Invalid value: Valid value range is empty: 0

This is my Code in AssistantMethods.dart

class AssistantMethods  {    static Future<String> searchCoordinateAddress(Position position, context) async    {      String placeAddress = "";      String st1, st2, st3, st4;      String url = "https://maps.googleapis.com/maps/api/geocode/json?   latlng=${position.latitude},${position.longitude}&key=$mapKey";      print(position.latitude);      print(position.longitude);        var response = await RequestAssistant.getRequest(url);      print(response);      if(response != "failed")      {        //placeAddress = response["results"][0]["formatted_address"];        st1 = placeAddress = response["results"][0]["address_components"][0]["long_name"];        st2 = placeAddress = response["results"][0]["address_components"][1]["long_name"];        st3 = placeAddress = response["results"][0]["address_components"][2]["long_name"];        st4 = placeAddress = response["results"][0]["address_components"][3]["long_name"];        placeAddress = st1 + ", " + st2 + ", " + st3 + ", " + st4;          Address userPickUpAddress = new Address();        userPickUpAddress.longitude = position.longitude;        userPickUpAddress.latitude = position.latitude;        userPickUpAddress.placeName = placeAddress;          Provider.of<AppData>(context, listen: false).updatePickUpLocationAddress(userPickUpAddress);      }        return placeAddress;    }      static Future<DirectionDetails> obtainPlaceDirectionDetails(LatLng initialPosition, LatLng   finalPosition) async    {      String directionUrl = "https://maps.googleapis.com/maps/api/directions/json?   

origin=${initialPosition.latitude},${initialPosition.longitude}&destination=${finalPosition.latitude}, ${finalPosition.longitude}&key=$mapKey";

    var res = await RequestAssistant.getRequest(directionUrl);        if(res == "failed")      {        return null;      }        DirectionDetails directionDetails = DirectionDetails();        directionDetails.encodedPoints = res["routes"][0]["overview_polyline"]["points"];        directionDetails.distanceText = res["routes"][0]["legs"][0]["distance"]["text"];      directionDetails.distanceValue = res["routes"][0]["legs"][0]["distance"]["value"];        directionDetails.durationText = res["routes"][0]["legs"][0]["duration"]["text"];      directionDetails.durationValue = res["routes"][0]["legs"][0]["duration"]["value"];        return directionDetails;      }  }  

This is my Code in MainScreen.dart:

  Future<void> getPlaceDirection() async    {      var initialPos = Provider.of<AppData>(context, listen: false).pickUpLocation;      var finalPos = Provider.of<AppData>(context, listen: false).dropOffLocation;        var pickUpLatLng = LatLng(initialPos.latitude, initialPos.longitude);      var dropOffLatLng = LatLng(finalPos.latitude, finalPos.longitude);        showDialog(          context: context,          builder: (BuildContext context) => ProgressDialog(message: "Please wait...",)      );        var details = await AssistantMethods.obtainPlaceDirectionDetails(pickUpLatLng, dropOffLatLng);        Navigator.pop(context);        print("This is Encoded Points ::");      print(details.encodedPoints);    }  }  

Here is a part of my error log: .............................................................................. I/flutter (26872): This is your Address ::Guillamac's Bldg., Carlos P. Garcia Avenue, Tagbilaran City, Bohol W/IInputConnectionWrapper(26872): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper(26872): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(26872): getTextAfterCursor on inactive
InputConnection W/IInputConnectionWrapper(26872): getSelectedText on inactive InputConnection W/IInputConnectionWrapper(26872): endBatchEdit on inactive InputConnection W/IInputConnectionWrapper(26872): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper(26872): endBatchEdit on inactive InputConnection I/Choreographer(26872): Skipped 36 frames! The application may be doing too much work on its main thread. W/Looper (26872): Slow Looper main: doFrame is 614ms late because of 1 msg I/flutter (26872): This is Drop Off Location :: I/flutter (26872): BQ Mall W/Looper (26872): Slow Looper main: doFrame is 472ms late because of 1 msg E/flutter (26872): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: RangeError (index): Invalid value: Valid value range is empty: 0 E/flutter (26872): #0 List.[] (dart:core- patch/growable_array.dart:254:60) E/flutter (26872): #1 AssistantMethods.obtainPlaceDirectionDetails (package:rider_app/Assistants/assistantMethods.dart:58:51) E/flutter (26872): E/flutter (26872): #2 _MainScreenState.getPlaceDirection enter code here(package:rider_app/AllScreens/mainscreen.dart:294:19) E/flutter (26872): E/flutter (26872): #3 _MainScreenState.build. (package:rider_app/AllScreens/mainscreen.dart:202:27) E/flutter (26872): E/flutter (26872):

https://stackoverflow.com/questions/67014713/errorflutter-lib-ui-ui-dart-state-cc186-unhandled-exception-rangeerror-ind April 09, 2021 at 11:30AM

没有评论:

发表评论