Reference documentation and code samples for the Google Maps Route Optimization V1 Client class RouteOptimizationClient.
Service Description: A service for optimizing vehicle tours.
Validity of certain types of fields:
google.protobuf.Timestamp
- Times are in Unix time: seconds since 1970-01-01T00:00:00+00:00.
- seconds must be in [0, 253402300799], i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
- nanos must be unset or set to 0.
google.protobuf.Duration
- seconds must be in [0, 253402300799], i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
- nanos must be unset or set to 0.
google.type.LatLng
- latitude must be in [-90.0, 90.0].
- longitude must be in [-180.0, 180.0].
- at least one of latitude and longitude must be non-zero.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods.
Namespace
Google \ Maps \ RouteOptimization \ V1 \ ClientMethods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
options |
array
Optional. Options for configuring the service API wrapper. |
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
string|array|FetchAuthTokenInterface|CredentialsWrapper
The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. |
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() . |
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to |
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder. |
↳ transport |
string|TransportInterface
The transport used for executing network requests. May be either the string |
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options. |
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS. |
batchOptimizeTours
Optimizes vehicle tours for one or more OptimizeToursRequest
messages as a batch.
This method is a Long Running Operation (LRO). The inputs for optimization
(OptimizeToursRequest
messages) and outputs (OptimizeToursResponse
messages) are read/written from/to Cloud Storage in user-specified
format. Like the OptimizeTours
method, each OptimizeToursRequest
contains a ShipmentModel
and returns an OptimizeToursResponse
containing ShipmentRoute
s, which are a set of routes to be performed by
vehicles minimizing the overall cost.
The async variant is Google\Maps\RouteOptimization\V1\Client\RouteOptimizationClient::batchOptimizeToursAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Maps\RouteOptimization\V1\BatchOptimizeToursRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\ApiCore\OperationResponse |
use Google\ApiCore\ApiException;
use Google\ApiCore\OperationResponse;
use Google\Maps\RouteOptimization\V1\BatchOptimizeToursRequest;
use Google\Maps\RouteOptimization\V1\BatchOptimizeToursRequest\AsyncModelConfig;
use Google\Maps\RouteOptimization\V1\BatchOptimizeToursResponse;
use Google\Maps\RouteOptimization\V1\Client\RouteOptimizationClient;
use Google\Maps\RouteOptimization\V1\DataFormat;
use Google\Maps\RouteOptimization\V1\InputConfig;
use Google\Maps\RouteOptimization\V1\OutputConfig;
use Google\Rpc\Status;
/**
* @param string $parent Target project and location to make a call.
*
* Format:
* * `projects/{project-id}`
* * `projects/{project-id}/locations/{location-id}`
*
* If no location is specified, a region will be chosen automatically.
* @param int $modelConfigsInputConfigDataFormat The input data format.
* @param int $modelConfigsOutputConfigDataFormat The output data format.
*/
function batch_optimize_tours_sample(
string $parent,
int $modelConfigsInputConfigDataFormat,
int $modelConfigsOutputConfigDataFormat
): void {
// Create a client.
$routeOptimizationClient = new RouteOptimizationClient();
// Prepare the request message.
$modelConfigsInputConfig = (new InputConfig())
->setDataFormat($modelConfigsInputConfigDataFormat);
$modelConfigsOutputConfig = (new OutputConfig())
->setDataFormat($modelConfigsOutputConfigDataFormat);
$asyncModelConfig = (new AsyncModelConfig())
->setInputConfig($modelConfigsInputConfig)
->setOutputConfig($modelConfigsOutputConfig);
$modelConfigs = [$asyncModelConfig,];
$request = (new BatchOptimizeToursRequest())
->setParent($parent)
->setModelConfigs($modelConfigs);
// Call the API and handle any network failures.
try {
/** @var OperationResponse $response */
$response = $routeOptimizationClient->batchOptimizeTours($request);
$response->pollUntilComplete();
if ($response->operationSucceeded()) {
/** @var BatchOptimizeToursResponse $result */
$result = $response->getResult();
printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString());
} else {
/** @var Status $error */
$error = $response->getError();
printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$parent = '[PARENT]';
$modelConfigsInputConfigDataFormat = DataFormat::DATA_FORMAT_UNSPECIFIED;
$modelConfigsOutputConfigDataFormat = DataFormat::DATA_FORMAT_UNSPECIFIED;
batch_optimize_tours_sample(
$parent,
$modelConfigsInputConfigDataFormat,
$modelConfigsOutputConfigDataFormat
);
}
optimizeTours
Sends an OptimizeToursRequest
containing a ShipmentModel
and returns an
OptimizeToursResponse
containing ShipmentRoute
s, which are a set of
routes to be performed by vehicles minimizing the overall cost.
A ShipmentModel
model consists mainly of Shipment
s that need to be
carried out and Vehicle
s that can be used to transport the Shipment
s.
The ShipmentRoute
s assign Shipment
s to Vehicle
s. More specifically,
they assign a series of Visit
s to each vehicle, where a Visit
corresponds to a VisitRequest
, which is a pickup or delivery for a
Shipment
.
The goal is to provide an assignment of ShipmentRoute
s to Vehicle
s that
minimizes the total cost where cost has many components defined in the
ShipmentModel
.
The async variant is Google\Maps\RouteOptimization\V1\Client\RouteOptimizationClient::optimizeToursAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Maps\RouteOptimization\V1\OptimizeToursRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Maps\RouteOptimization\V1\OptimizeToursResponse |
use Google\ApiCore\ApiException;
use Google\Maps\RouteOptimization\V1\Client\RouteOptimizationClient;
use Google\Maps\RouteOptimization\V1\OptimizeToursRequest;
use Google\Maps\RouteOptimization\V1\OptimizeToursResponse;
/**
* @param string $parent Target project or location to make a call.
*
* Format:
* * `projects/{project-id}`
* * `projects/{project-id}/locations/{location-id}`
*
* If no location is specified, a region will be chosen automatically.
*/
function optimize_tours_sample(string $parent): void
{
// Create a client.
$routeOptimizationClient = new RouteOptimizationClient();
// Prepare the request message.
$request = (new OptimizeToursRequest())
->setParent($parent);
// Call the API and handle any network failures.
try {
/** @var OptimizeToursResponse $response */
$response = $routeOptimizationClient->optimizeTours($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$parent = '[PARENT]';
optimize_tours_sample($parent);
}
batchOptimizeToursAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Maps\RouteOptimization\V1\BatchOptimizeToursRequest
|
optionalArgs = [] |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface |
optimizeToursAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Maps\RouteOptimization\V1\OptimizeToursRequest
|
optionalArgs = [] |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface |
getOperationsClient
Return an OperationsClient object with the same endpoint as $this.
Returns | |
---|---|
Type | Description |
Google\LongRunning\Client\OperationsClient |
resumeOperation
Resume an existing long running operation that was previously started by a long running API method. If $methodName is not provided, or does not match a long running API method, then the operation can still be resumed, but the OperationResponse object will not deserialize the final response.
Parameters | |
---|---|
Name | Description |
operationName |
string
The name of the long running operation |
methodName |
string
The name of the method used to start the operation |
Returns | |
---|---|
Type | Description |
Google\ApiCore\OperationResponse |