google-maps-services-python icon indicating copy to clipboard operation
google-maps-services-python copied to clipboard

Multiple avoid problems

Open tpchris1 opened this issue 5 years ago • 1 comments

Problem

When I passed the avoid parameters in the distance_matrix method, it told me that it is an invalid restriction. However, I wonder if it's possible to allow multiple avoid options like avoid=tolls|highways|ferries. Thank you!

Environment details

  1. API: Distance_Matrix
  2. Win 10 v2004
  3. lib version: 4.4.2, Jupyter Notebook

Steps to reproduce

  1. Simply add multiple avoids in the distance_matrix parameter

Code example

# example
gmaps = googlemaps.Client(key=YOUR_KEY)
gmaps.distance_matrix(origins=SOMEPLACE,destinations=SOMEPLACE, mode='driving', avoid='tolls|highways|ferries')

Stack trace

# example
D:\Program_Files\Anaconda3\lib\site-packages\googlemaps\distance_matrix.py in distance_matrix(client, origins, destinations, mode, language, avoid, units, departure_time, arrival_time, transit_mode, transit_routing_preference, traffic_model, region)
    107     if avoid:
    108         if avoid not in ["tolls", "highways", "ferries"]:
--> 109             raise ValueError("Invalid route restriction.")
    110         params["avoid"] = avoid
    111 

ValueError: Invalid route restriction.

tpchris1 avatar Sep 19 '20 04:09 tpchris1

I've confirmed that multiple arguments are supported by Distance Matrix API, just as they are with Directions API. Getting the documentation updated to reflect that.

I've left some review comments in #417 to hopefully get that merged soon.

wangela avatar Jan 25 '23 20:01 wangela