toString method
A string representation of this object.
Some classes have a default textual representation,
often paired with a static parse function (like int.parse).
These classes will provide the textual representation as
their string representation.
Other classes have no meaningful textual representation
that a program will care about.
Such classes will typically override toString to provide
useful information when inspecting the object,
mainly for debugging or logging.
Implementation
@override
String toString() => '?origin=${_convertLocation(origin)}&'
    'destination=${_convertLocation(destination)}'
    '${_addIfNotNull('mode', travelMode?.toString().toLowerCase())}'
    '${_addIfNotNull('waypoints', _convertWaypoints())}'
    '${_addIfNotNull('alternatives', alternatives)}'
    '${_addIfNotNull('avoid', _convertAvoids())}'
    '${_addIfNotNull('units', unitSystem)}'
    '${_addIfNotNull('region', region)}'
    '${_addIfNotNull('language', language)}'
    '${drivingOptions == null ? '' : drivingOptions.toString()}'
    '${transitOptions == null ? '' : transitOptions.toString()}';