Cele to parametry, które wstępnie definiują typowe cele optymalizacji, takie jak najkrótsza odległość lub czas podróży, dostawy na czas czy równoważenie obciążenia między kierowcami. Ma to ułatwić deweloperom rozpoczęcie korzystania z interfejsu Route Optimization API przed poznaniem zaawansowanych funkcji i pełnej personalizacji parametrów kosztów.
Gdy są ustawione, ShipmentModel.objectives
całkowicie zastępują model kosztów, dlatego są niezgodne z wcześniej ustalonymi kosztami. Każda wartość Objective
odpowiada liczbie wstępnie zdefiniowanych kosztów pojazdów, przesyłek lub atrybutów przejścia.
Jeśli określisz tryb rozwiązywania TRANSFORM_AND_RETURN_REQUEST
, żądanie nie zostanie rozwiązane, a jedynie zweryfikowane i wypełnione kosztami
odpowiadającymi podanym celom. Zmodyfikowane żądanie jest zwracane jako OptimizeToursResponse.processed_request
. W przypadku wszystkich pozostałych trybów rozwiązywania zwracana jest rozwiązana prośba.
Tryb rozwiązywania TRANSFORM_AND_RETURN_REQUEST
jest prawidłowy tylko w przypadku żądań OptimizeTours
i nie jest dostępny w przypadku innych żądań interfejsu Route Optimization API.
Przykład: wysyłanie prośby ShipmentModel.objectives
Zanim wyślesz prośbę, wykonaj te czynności:
- Upewnij się, że masz skonfigurowane domyślne dane logowania aplikacji zgodnie z opisem w artykule Korzystanie z OAuth.
Ustaw PROJECT_NUMBER_OR_ID na numer lub identyfikator projektu Cloud.
To polecenie wysyła
OptimizeToursRequest
do interfejsu Route Optimization API, który zwracaOptimizeToursResponse
.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ], } } EOM
Przykład: wysyłanie prośby TRANSFORM_AND_RETURN_REQUEST
Zanim wyślesz prośbę, wykonaj te czynności:
- Upewnij się, że masz skonfigurowane domyślne dane logowania aplikacji zgodnie z opisem w artykule Korzystanie z OAuth.
Ustaw PROJECT_NUMBER_OR_ID na numer lub identyfikator projektu Cloud.
To polecenie wysyła żądanie
OptimizeToursRequest
do interfejsu Route Optimization API, który zwraca odpowiedźOptimizeToursResponse
z ustawionym polemProcessedRequest
. Poprzednie polecenie zwróci odpowiedź podobną do tej poniżej.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } EOM
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }