route_modifiers.proto 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.maps.routing.v2;
  16. import "google/maps/routing/v2/toll_passes.proto";
  17. import "google/maps/routing/v2/vehicle_info.proto";
  18. option cc_enable_arenas = true;
  19. option csharp_namespace = "Google.Maps.Routing.V2";
  20. option go_package = "google.golang.org/genproto/googleapis/maps/routing/v2;routing";
  21. option java_multiple_files = true;
  22. option java_outer_classname = "RouteModifiersProto";
  23. option java_package = "com.google.maps.routing.v2";
  24. option objc_class_prefix = "GMRV2";
  25. option php_namespace = "Google\\Maps\\Routing\\V2";
  26. option ruby_package = "Google::Maps::Routing::V2";
  27. // Encapsulates a set of optional conditions to satisfy when calculating the
  28. // routes.
  29. message RouteModifiers {
  30. // Specifies whether to avoid toll roads where reasonable. Preference will be
  31. // given to routes not containing toll roads. Applies only to the `DRIVE` and
  32. // `TWO_WHEELER` travel modes.
  33. bool avoid_tolls = 1;
  34. // Specifies whether to avoid highways where reasonable. Preference will be
  35. // given to routes not containing highways. Applies only to the `DRIVE` and
  36. // `TWO_WHEELER` travel modes.
  37. bool avoid_highways = 2;
  38. // Specifies whether to avoid ferries where reasonable. Preference will be
  39. // given to routes not containing travel by ferries.
  40. // Applies only to the `DRIVE` and`TWO_WHEELER` travel modes.
  41. bool avoid_ferries = 3;
  42. // Specifies whether to avoid navigating indoors where reasonable. Preference
  43. // will be given to routes not containing indoor navigation.
  44. // Applies only to the `WALK` travel mode.
  45. bool avoid_indoor = 4;
  46. // Specifies the vehicle information.
  47. VehicleInfo vehicle_info = 5;
  48. // Encapsulates information about toll passes.
  49. // If toll passes are provided, the API tries to return the pass price. If
  50. // toll passes are not provided, the API treats the toll pass as unknown and
  51. // tries to return the cash price.
  52. // Applies only to the DRIVE and TWO_WHEELER travel modes.
  53. repeated TollPass toll_passes = 6;
  54. }