@googlemaps/routeoptimization 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -271
- package/build/protos/google/maps/routeoptimization/v1/route_optimization_service.proto +497 -13
- package/build/protos/protos.d.ts +983 -21
- package/build/protos/protos.js +5338 -2753
- package/build/protos/protos.json +405 -2
- package/build/src/v1/gapic_metadata.json +20 -0
- package/build/src/v1/route_optimization_client.d.ts +312 -0
- package/build/src/v1/route_optimization_client.js +104 -2
- package/build/src/v1/route_optimization_client.js.map +1 -1
- package/build/src/v1/route_optimization_client_config.json +8 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
|
|
2
|
-
[//]: # "
|
|
2
|
+
[//]: # "The comments you see below are used to generate those parts of the template in later states."
|
|
3
3
|
<img src="https://avatars2.githubusercontent.com/u/2810941?v=3&s=96" alt="Google Cloud Platform logo" title="Google Cloud Platform" align="right" height="96" width="96"/>
|
|
4
4
|
|
|
5
|
-
# [Route Optimization API:
|
|
6
|
-
|
|
7
|
-
[](https://cloud.google.com/terms/launch-stages)
|
|
8
|
-
[](https://www.npmjs.org/package/@googlemaps/routeoptimization)
|
|
9
|
-
|
|
5
|
+
# [Route Optimization API: Nodejs Client][homepage]
|
|
10
6
|
|
|
7
|
+
This library is considered to be in **preview**. This means it is still a
|
|
8
|
+
work-in-progress and under active development. Any release is subject to
|
|
9
|
+
backwards-incompatible changes at any time.
|
|
11
10
|
|
|
11
|
+
[](https://www.npmjs.org/package/@googlemaps/routeoptimization)
|
|
12
12
|
|
|
13
13
|
Route Optimization API client for Node.js
|
|
14
14
|
|
|
15
|
+
[//]: # "partials.introduction"
|
|
15
16
|
|
|
16
17
|
A comprehensive list of changes in each version may be found in
|
|
17
|
-
[the CHANGELOG]
|
|
18
|
+
[the CHANGELOG][homepage_changelog].
|
|
18
19
|
|
|
19
|
-
* [Route Optimization API
|
|
20
|
-
* [Route Optimization API Documentation]
|
|
21
|
-
* [github.com/googleapis/google-cloud-node/packages/google-maps-routeoptimization](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-maps-routeoptimization)
|
|
20
|
+
* [Route Optimization API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/routeoptimization/latest)
|
|
21
|
+
* [Route Optimization API Documentation](https://developers.google.com/maps/documentation/route-optimization)
|
|
22
22
|
|
|
23
23
|
Read more about the client libraries for Cloud APIs, including the older
|
|
24
24
|
Google APIs Client Libraries, in [Client Libraries Explained][explained].
|
|
@@ -27,18 +27,15 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained].
|
|
|
27
27
|
|
|
28
28
|
**Table of contents:**
|
|
29
29
|
|
|
30
|
-
|
|
31
30
|
* [Quickstart](#quickstart)
|
|
32
31
|
* [Before you begin](#before-you-begin)
|
|
33
32
|
* [Installing the client library](#installing-the-client-library)
|
|
34
|
-
|
|
35
|
-
* [Samples](#samples)
|
|
33
|
+
|
|
36
34
|
* [Versioning](#versioning)
|
|
37
35
|
* [Contributing](#contributing)
|
|
38
36
|
* [License](#license)
|
|
39
37
|
|
|
40
38
|
## Quickstart
|
|
41
|
-
|
|
42
39
|
### Before you begin
|
|
43
40
|
|
|
44
41
|
1. [Select or create a Cloud Platform project][projects].
|
|
@@ -46,259 +43,46 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained].
|
|
|
46
43
|
1. [Enable the Route Optimization API API][enable_api].
|
|
47
44
|
1. [Set up authentication][auth] so you can access the
|
|
48
45
|
API from your local workstation.
|
|
49
|
-
|
|
50
46
|
### Installing the client library
|
|
51
47
|
|
|
52
48
|
```bash
|
|
53
49
|
npm install @googlemaps/routeoptimization
|
|
54
50
|
```
|
|
55
51
|
|
|
52
|
+
## Terms of Service
|
|
56
53
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* This snippet has been automatically generated and should be regarded as a code template only.
|
|
62
|
-
* It will require modifications to work.
|
|
63
|
-
* It may require correct/in-range values for request initialization.
|
|
64
|
-
* TODO(developer): Uncomment these variables before running the sample.
|
|
65
|
-
*/
|
|
66
|
-
/**
|
|
67
|
-
* Required. Target project or location to make a call.
|
|
68
|
-
* Format:
|
|
69
|
-
* * `projects/{project-id}`
|
|
70
|
-
* * `projects/{project-id}/locations/{location-id}`
|
|
71
|
-
* If no location is specified, a region will be chosen automatically.
|
|
72
|
-
*/
|
|
73
|
-
// const parent = 'abc123'
|
|
74
|
-
/**
|
|
75
|
-
* If this timeout is set, the server returns a response before the timeout
|
|
76
|
-
* period has elapsed or the server deadline for synchronous requests is
|
|
77
|
-
* reached, whichever is sooner.
|
|
78
|
-
* For asynchronous requests, the server will generate a solution (if
|
|
79
|
-
* possible) before the timeout has elapsed.
|
|
80
|
-
*/
|
|
81
|
-
// const timeout = {}
|
|
82
|
-
/**
|
|
83
|
-
* Shipment model to solve.
|
|
84
|
-
*/
|
|
85
|
-
// const model = {}
|
|
86
|
-
/**
|
|
87
|
-
* By default, the solving mode is `DEFAULT_SOLVE` (0).
|
|
88
|
-
*/
|
|
89
|
-
// const solvingMode = {}
|
|
90
|
-
/**
|
|
91
|
-
* Search mode used to solve the request.
|
|
92
|
-
*/
|
|
93
|
-
// const searchMode = {}
|
|
94
|
-
/**
|
|
95
|
-
* Guide the optimization algorithm in finding a first solution that is
|
|
96
|
-
* similar to a previous solution.
|
|
97
|
-
* The model is constrained when the first solution is built.
|
|
98
|
-
* Any shipments not performed on a route are implicitly skipped in the first
|
|
99
|
-
* solution, but they may be performed in successive solutions.
|
|
100
|
-
* The solution must satisfy some basic validity assumptions:
|
|
101
|
-
* * for all routes, `vehicle_index` must be in range and not be duplicated.
|
|
102
|
-
* * for all visits, `shipment_index` and `visit_request_index` must be
|
|
103
|
-
* in range.
|
|
104
|
-
* * a shipment may only be referenced on one route.
|
|
105
|
-
* * the pickup of a pickup-delivery shipment must be performed before
|
|
106
|
-
* the delivery.
|
|
107
|
-
* * no more than one pickup alternative or delivery alternative of
|
|
108
|
-
* a shipment may be performed.
|
|
109
|
-
* * for all routes, times are increasing (i.e., `vehicle_start_time
|
|
110
|
-
* <= visits0.start_time <= visits1.start_time ...
|
|
111
|
-
* <= vehicle_end_time`).
|
|
112
|
-
* * a shipment may only be performed on a vehicle that is allowed. A
|
|
113
|
-
* vehicle is allowed if
|
|
114
|
-
* Shipment.allowed_vehicle_indices google.maps.routeoptimization.v1.Shipment.allowed_vehicle_indices
|
|
115
|
-
* is empty or its `vehicle_index` is included in
|
|
116
|
-
* Shipment.allowed_vehicle_indices google.maps.routeoptimization.v1.Shipment.allowed_vehicle_indices.
|
|
117
|
-
* If the injected solution is not feasible, a validation error is not
|
|
118
|
-
* necessarily returned and an error indicating infeasibility may be returned
|
|
119
|
-
* instead.
|
|
120
|
-
*/
|
|
121
|
-
// const injectedFirstSolutionRoutes = [1,2,3,4]
|
|
122
|
-
/**
|
|
123
|
-
* Constrain the optimization algorithm to find a final solution that is
|
|
124
|
-
* similar to a previous solution. For example, this may be used to freeze
|
|
125
|
-
* portions of routes which have already been completed or which are to be
|
|
126
|
-
* completed but must not be modified.
|
|
127
|
-
* If the injected solution is not feasible, a validation error is not
|
|
128
|
-
* necessarily returned and an error indicating infeasibility may be returned
|
|
129
|
-
* instead.
|
|
130
|
-
*/
|
|
131
|
-
// const injectedSolutionConstraint = {}
|
|
132
|
-
/**
|
|
133
|
-
* If non-empty, the given routes will be refreshed, without modifying their
|
|
134
|
-
* underlying sequence of visits or travel times: only other details will be
|
|
135
|
-
* updated. This does not solve the model.
|
|
136
|
-
* As of 2020/11, this only populates the polylines of non-empty routes and
|
|
137
|
-
* requires that `populate_polylines` is true.
|
|
138
|
-
* The `route_polyline` fields of the passed-in routes may be inconsistent
|
|
139
|
-
* with route `transitions`.
|
|
140
|
-
* This field must not be used together with `injected_first_solution_routes`
|
|
141
|
-
* or `injected_solution_constraint`.
|
|
142
|
-
* `Shipment.ignore` and `Vehicle.ignore` have no effect on the behavior.
|
|
143
|
-
* Polylines are still populated between all visits in all non-empty routes
|
|
144
|
-
* regardless of whether the related shipments or vehicles are ignored.
|
|
145
|
-
*/
|
|
146
|
-
// const refreshDetailsRoutes = [1,2,3,4]
|
|
147
|
-
/**
|
|
148
|
-
* If true:
|
|
149
|
-
* * uses
|
|
150
|
-
* ShipmentRoute.vehicle_label google.maps.routeoptimization.v1.ShipmentRoute.vehicle_label
|
|
151
|
-
* instead of `vehicle_index` to
|
|
152
|
-
* match routes in an injected solution with vehicles in the request;
|
|
153
|
-
* reuses the mapping of original
|
|
154
|
-
* ShipmentRoute.vehicle_index google.maps.routeoptimization.v1.ShipmentRoute.vehicle_index
|
|
155
|
-
* to new
|
|
156
|
-
* ShipmentRoute.vehicle_index google.maps.routeoptimization.v1.ShipmentRoute.vehicle_index
|
|
157
|
-
* to update
|
|
158
|
-
* ConstraintRelaxation.vehicle_indices google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.vehicle_indices
|
|
159
|
-
* if non-empty, but the mapping must be unambiguous (i.e., multiple
|
|
160
|
-
* `ShipmentRoute`s must not share the same original `vehicle_index`).
|
|
161
|
-
* * uses
|
|
162
|
-
* ShipmentRoute.Visit.shipment_label google.maps.routeoptimization.v1.ShipmentRoute.Visit.shipment_label
|
|
163
|
-
* instead of `shipment_index`
|
|
164
|
-
* to match visits in an injected solution with shipments in the request;
|
|
165
|
-
* * uses
|
|
166
|
-
* SkippedShipment.label google.maps.routeoptimization.v1.SkippedShipment.label
|
|
167
|
-
* instead of
|
|
168
|
-
* SkippedShipment.index google.maps.routeoptimization.v1.SkippedShipment.index
|
|
169
|
-
* to
|
|
170
|
-
* match skipped shipments in the injected solution with request
|
|
171
|
-
* shipments.
|
|
172
|
-
* This interpretation applies to the `injected_first_solution_routes`,
|
|
173
|
-
* `injected_solution_constraint`, and `refresh_details_routes` fields.
|
|
174
|
-
* It can be used when shipment or vehicle indices in the request have
|
|
175
|
-
* changed since the solution was created, perhaps because shipments or
|
|
176
|
-
* vehicles have been removed from or added to the request.
|
|
177
|
-
* If true, labels in the following categories must appear at most once in
|
|
178
|
-
* their category:
|
|
179
|
-
* * Vehicle.label google.maps.routeoptimization.v1.Vehicle.label in the
|
|
180
|
-
* request;
|
|
181
|
-
* * Shipment.label google.maps.routeoptimization.v1.Shipment.label in
|
|
182
|
-
* the request;
|
|
183
|
-
* * ShipmentRoute.vehicle_label google.maps.routeoptimization.v1.ShipmentRoute.vehicle_label in the injected solution;
|
|
184
|
-
* * SkippedShipment.label google.maps.routeoptimization.v1.SkippedShipment.label and ShipmentRoute.Visit.shipment_label google.maps.routeoptimization.v1.ShipmentRoute.Visit.shipment_label in
|
|
185
|
-
* the injected solution (except pickup/delivery visit pairs, whose
|
|
186
|
-
* `shipment_label` must appear twice).
|
|
187
|
-
* If a `vehicle_label` in the injected solution does not correspond to a
|
|
188
|
-
* request vehicle, the corresponding route is removed from the solution
|
|
189
|
-
* along with its visits. If a `shipment_label` in the injected solution does
|
|
190
|
-
* not correspond to a request shipment, the corresponding visit is removed
|
|
191
|
-
* from the solution. If a
|
|
192
|
-
* SkippedShipment.label google.maps.routeoptimization.v1.SkippedShipment.label
|
|
193
|
-
* in the injected solution does not correspond to a request shipment, the
|
|
194
|
-
* `SkippedShipment` is removed from the solution.
|
|
195
|
-
* Removing route visits or entire routes from an injected solution may
|
|
196
|
-
* have an effect on the implied constraints, which may lead to change in
|
|
197
|
-
* solution, validation errors, or infeasibility.
|
|
198
|
-
* NOTE: The caller must ensure that each
|
|
199
|
-
* Vehicle.label google.maps.routeoptimization.v1.Vehicle.label (resp.
|
|
200
|
-
* Shipment.label google.maps.routeoptimization.v1.Shipment.label) uniquely
|
|
201
|
-
* identifies a vehicle (resp. shipment) entity used across the two relevant
|
|
202
|
-
* requests: the past request that produced the `OptimizeToursResponse` used
|
|
203
|
-
* in the injected solution and the current request that includes the injected
|
|
204
|
-
* solution. The uniqueness checks described above are not enough to guarantee
|
|
205
|
-
* this requirement.
|
|
206
|
-
*/
|
|
207
|
-
// const interpretInjectedSolutionsUsingLabels = true
|
|
208
|
-
/**
|
|
209
|
-
* Consider traffic estimation in calculating `ShipmentRoute` fields
|
|
210
|
-
* Transition.travel_duration google.maps.routeoptimization.v1.ShipmentRoute.Transition.travel_duration,
|
|
211
|
-
* Visit.start_time google.maps.routeoptimization.v1.ShipmentRoute.Visit.start_time,
|
|
212
|
-
* and `vehicle_end_time`; in setting the
|
|
213
|
-
* ShipmentRoute.has_traffic_infeasibilities google.maps.routeoptimization.v1.ShipmentRoute.has_traffic_infeasibilities
|
|
214
|
-
* field, and in calculating the
|
|
215
|
-
* OptimizeToursResponse.total_cost google.maps.routeoptimization.v1.OptimizeToursResponse.total_cost
|
|
216
|
-
* field.
|
|
217
|
-
*/
|
|
218
|
-
// const considerRoadTraffic = true
|
|
219
|
-
/**
|
|
220
|
-
* If true, polylines will be populated in response `ShipmentRoute`s.
|
|
221
|
-
*/
|
|
222
|
-
// const populatePolylines = true
|
|
223
|
-
/**
|
|
224
|
-
* If true, polylines will be populated in response
|
|
225
|
-
* ShipmentRoute.transitions google.maps.routeoptimization.v1.ShipmentRoute.transitions.
|
|
226
|
-
*/
|
|
227
|
-
// const populateTransitionPolylines = true
|
|
228
|
-
/**
|
|
229
|
-
* If this is set, then the request can have a deadline
|
|
230
|
-
* (see https://grpc.io/blog/deadlines) of up to 60 minutes.
|
|
231
|
-
* Otherwise, the maximum deadline is only 30 minutes.
|
|
232
|
-
* Note that long-lived requests have a significantly larger (but still small)
|
|
233
|
-
* risk of interruption.
|
|
234
|
-
*/
|
|
235
|
-
// const allowLargeDeadlineDespiteInterruptionRisk = true
|
|
236
|
-
/**
|
|
237
|
-
* If true, travel distances will be computed using geodesic distances instead
|
|
238
|
-
* of Google Maps distances, and travel times will be computed using geodesic
|
|
239
|
-
* distances with a speed defined by `geodesic_meters_per_second`.
|
|
240
|
-
*/
|
|
241
|
-
// const useGeodesicDistances = true
|
|
242
|
-
/**
|
|
243
|
-
* When `use_geodesic_distances` is true, this field must be set and defines
|
|
244
|
-
* the speed applied to compute travel times. Its value must be at least 1.0
|
|
245
|
-
* meters/seconds.
|
|
246
|
-
*/
|
|
247
|
-
// const geodesicMetersPerSecond = 1234
|
|
248
|
-
/**
|
|
249
|
-
* Truncates the number of validation errors returned. These errors are
|
|
250
|
-
* typically attached to an INVALID_ARGUMENT error payload as a BadRequest
|
|
251
|
-
* error detail (https://cloud.google.com/apis/design/errors#error_details),
|
|
252
|
-
* unless solving_mode=VALIDATE_ONLY: see the
|
|
253
|
-
* OptimizeToursResponse.validation_errors google.maps.routeoptimization.v1.OptimizeToursResponse.validation_errors
|
|
254
|
-
* field.
|
|
255
|
-
* This defaults to 100 and is capped at 10,000.
|
|
256
|
-
*/
|
|
257
|
-
// const maxValidationErrors = 1234
|
|
258
|
-
/**
|
|
259
|
-
* Label that may be used to identify this request, reported back in the
|
|
260
|
-
* OptimizeToursResponse.request_label google.maps.routeoptimization.v1.OptimizeToursResponse.request_label.
|
|
261
|
-
*/
|
|
262
|
-
// const label = 'abc123'
|
|
263
|
-
|
|
264
|
-
// Imports the Routeoptimization library
|
|
265
|
-
const {RouteOptimizationClient} = require('@googlemaps/routeoptimization').v1;
|
|
266
|
-
|
|
267
|
-
// Instantiates a client
|
|
268
|
-
const routeoptimizationClient = new RouteOptimizationClient();
|
|
269
|
-
|
|
270
|
-
async function callOptimizeTours() {
|
|
271
|
-
// Construct request
|
|
272
|
-
const request = {
|
|
273
|
-
parent,
|
|
274
|
-
model,
|
|
275
|
-
};
|
|
276
|
-
|
|
277
|
-
// Run request
|
|
278
|
-
const response = await routeoptimizationClient.optimizeTours(request);
|
|
279
|
-
console.log(response);
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
callOptimizeTours();
|
|
283
|
-
|
|
284
|
-
```
|
|
54
|
+
`@googlemaps/routeoptimization` uses Google Maps Platform services. Use of Google
|
|
55
|
+
Maps Platform services through this library is subject to the
|
|
56
|
+
[Google Maps Platform Terms of Service][gmp-tos].
|
|
285
57
|
|
|
58
|
+
This library is not a Google Maps Platform Core Service.
|
|
59
|
+
Therefore, the Google Maps Platform Terms of Service (e.g., Technical
|
|
60
|
+
Support Services, Service Level Agreements, and Deprecation Policy)
|
|
61
|
+
do not apply to this library.
|
|
286
62
|
|
|
63
|
+
### European Economic Area (EEA) developers
|
|
287
64
|
|
|
288
|
-
|
|
65
|
+
If your billing address is in the European Economic Area, effective on
|
|
66
|
+
8 July 2025, the [Google Maps Platform EEA Terms of Service][gmp-tos-eea]
|
|
67
|
+
will apply to your use of the Services. Functionality varies by region.
|
|
68
|
+
[Learn more][gmp-tos-eea-faq].
|
|
289
69
|
|
|
290
|
-
|
|
70
|
+
[gmp-tos]: https://cloud.google.com/maps-platform/terms
|
|
71
|
+
[gmp-tos-eea]: https://cloud.google.com/terms/maps-platform/eea
|
|
72
|
+
[gmp-tos-eea-faq]: https://developers.google.com/maps/comms/eea/faq
|
|
291
73
|
|
|
292
|
-
|
|
293
|
-
| --------------------------- | --------------------------------- | ------ |
|
|
294
|
-
| Route_optimization.batch_optimize_tours | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.batch_optimize_tours.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.batch_optimize_tours.js,packages/google-maps-routeoptimization/samples/README.md) |
|
|
295
|
-
| Route_optimization.optimize_tours | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.optimize_tours.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.optimize_tours.js,packages/google-maps-routeoptimization/samples/README.md) |
|
|
296
|
-
| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-maps-routeoptimization/samples/quickstart.js,packages/google-maps-routeoptimization/samples/README.md) |
|
|
74
|
+
## Samples
|
|
297
75
|
|
|
76
|
+
Samples are in the [`samples/`][homepage_samples] directory. Each sample's `README.md` has instructions for running its sample.
|
|
298
77
|
|
|
78
|
+
| Sample | Source Code |
|
|
79
|
+
| --------------------------- | --------------------------------- |
|
|
80
|
+
| batch optimize tours | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.batch_optimize_tours.js) |
|
|
81
|
+
| optimize tours | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.optimize_tours.js) |
|
|
82
|
+
| optimize tours long running | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.optimize_tours_long_running.js) |
|
|
83
|
+
| optimize tours uri | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/route_optimization.optimize_tours_uri.js) |
|
|
84
|
+
| maps | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples/generated/v1/snippet_metadata_google.maps.routeoptimization.v1.json) |
|
|
299
85
|
|
|
300
|
-
The [Route Optimization API Node.js Client API Reference][client-docs] documentation
|
|
301
|
-
also contains samples.
|
|
302
86
|
|
|
303
87
|
## Supported Node.js Versions
|
|
304
88
|
|
|
@@ -325,41 +109,29 @@ for versions compatible with Node.js 8.
|
|
|
325
109
|
|
|
326
110
|
This library follows [Semantic Versioning](http://semver.org/).
|
|
327
111
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
This library is considered to be in **preview**. This means it is still a
|
|
335
|
-
work-in-progress and under active development. Any release is subject to
|
|
336
|
-
backwards-incompatible changes at any time.
|
|
337
|
-
|
|
338
|
-
|
|
339
112
|
More Information: [Google Cloud Platform Launch Stages][launch_stages]
|
|
340
113
|
|
|
341
114
|
[launch_stages]: https://cloud.google.com/terms/launch-stages
|
|
342
115
|
|
|
343
116
|
## Contributing
|
|
344
117
|
|
|
345
|
-
Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
|
|
118
|
+
Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/CONTRIBUTING.md).
|
|
346
119
|
|
|
347
|
-
Please note that this `README.md
|
|
120
|
+
Please note that this `README.md`
|
|
348
121
|
and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
|
|
349
|
-
are generated from a central template.
|
|
350
|
-
to its templates in
|
|
351
|
-
[directory](https://github.com/googleapis/synthtool).
|
|
122
|
+
are generated from a central template.
|
|
352
123
|
|
|
353
124
|
## License
|
|
354
125
|
|
|
355
126
|
Apache Version 2.0
|
|
356
127
|
|
|
357
|
-
See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
|
|
128
|
+
See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/LICENSE)
|
|
358
129
|
|
|
359
|
-
[client-docs]: https://cloud.google.com/nodejs/docs/reference/routeoptimization/latest
|
|
360
|
-
[product-docs]: https://developers.google.com/maps/documentation/route-optimization
|
|
361
130
|
[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
|
|
362
131
|
[projects]: https://console.cloud.google.com/project
|
|
363
132
|
[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
|
|
364
133
|
[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=routeoptimization.googleapis.com
|
|
365
134
|
[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local
|
|
135
|
+
[homepage_samples]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/samples
|
|
136
|
+
[homepage_changelog]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization/CHANGELOG.md
|
|
137
|
+
[homepage]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-routeoptimization
|