1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
//! **Roads API** - Identify the roads a vehicle is traveling along, and get
//! metadata about those roads.
//!
//! # [Overview](https://developers.google.com/maps/documentation/roads/overview)
//!
//! * **Before you begin**: Before you start using the Places API, you need a
//! project with a billing account and the Places API enabled. We recommend
//! creating multiple Project Owners and Billing Administrators, so that you'll
//! always have someone with these roles available to your team. To learn more,
//! see [Set up in Cloud Console](https://developers.google.com/maps/documentation/places/web-service/cloud-setup).
//!
//! The Roads API identifies the roads a vehicle was traveling along and
//! provides additional metadata about those roads, such as speed limits.
//!
//! Before you start developing with the Roads API, review the authentication
//! requirements (you need an API key) and the API usage and billing
//! information.
//!
//! # [Introduction](https://developers.google.com/maps/documentation/roads/overview#introduction)
//!
//! [Watch this video for some examples of the kinds of apps that will find the
//! Roads API useful.](https://youtu.be/e5YDb-XnDVk)
//!
//! The Roads API allows you to map GPS coordinates to the geometry of the road,
//! and to determine the speed limit along those road segments. The API is
//! available via a simple HTTPS interface, and exposes the following services:
//!
//! * [Snap to roads](https://developers.google.com/maps/documentation/roads/snap)
//! This service returns the best-fit road geometry for a given set of GPS
//! coordinates. This service takes up to 100 GPS points collected along a
//! route, and returns a similar set of data with the points snapped to the
//! most likely roads the vehicle was traveling along. Optionally, you can
//! request that the points be interpolated, resulting in a path that smoothly
//! follows the geometry of the road.
//!
//! * [Nearest roads](https://developers.google.com/maps/documentation/roads/nearest)
//! This service returns individual road segments for a given set of GPS
//! coordinates. This services takes up to 100 GPS points and returns the
//! closest road segment for each point. The points passed do not need to be
//! part of a continuous path.
//!
//! * [Speed limits](https://developers.google.com/maps/documentation/roads/speed-limits)
//! **(Not yet implemented in this client.)**
//! This service returns the posted speed limit for a road segment. The Speed
//! Limit service is available to all customers with an Asset Tracking license.
//! For [Google Maps Platform Premium Plan customers](https://developers.google.com/maps/premium)
//! who transitioned to pay-as-you-go pricing, the feature remains active.
//!
//! # [Client library](https://developers.google.com/maps/documentation/roads/overview#client_library)
//!
//! The Roads API is available with the [Java Client, Python Client, Go Client
//! and Node.js Client for Google Maps Services](https://developers.google.com/maps/web-services/client-library).
//! Client libraries make developing with the Roads API easier by providing
//! simple, native implementations of common tasks, such as authentication,
//! request throttling and automatic retry.
pub mod error;
pub mod error_response;
pub mod nearest_roads;
pub mod snap_to_roads;
pub mod snapped_point;
pub mod status;
// -----------------------------------------------------------------------------
pub use crate::roads::{
error::Error as RoadsError, error_response::ErrorResponse as RoadsErrorResponse,
snapped_point::SnappedPoint, status::Status as RoadsStatus,
}; // crate::roads
pub use crate::roads::snap_to_roads::{
request::Request as SnapToRoadsRequest, response::Response as SnapToRoadsResponse,
}; // crate::roads::snap_to_roads
pub use crate::roads::nearest_roads::{
request::Request as NearestRoadsRequest, response::Response as NearestRoadsResponse,
}; // crate::roads::nearest_roads