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
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
//! The **Geocoding API** is a service that provides geocoding and reverse
//! geocoding of addresses. It can be used to convert a street address to
//! geographic coordinates (latitude & longitude), or vice versa.
//!
//! **Geocoding** is the process of converting addresses (like a street address)
//! into geographic coordinates (like latitude and longitude), which you can use
//! to place markers on a map, or position the map.
//!
//! **Reverse geocoding** is the process of converting geographic coordinates
//! into a human-readable address.
//!
//! You can also use the Geocoding API to find the address for a given [place
//! ID](https://developers.google.com/maps/documentation/geocoding/intro#place-id).
//!
//! # [Get Started](https://developers.google.com/maps/documentation/geocoding/start)
//!
//! * **New Users**: Before you can start using the Google Maps Platform APIs
//! and SDKs, you must sign up and create a billing account. To learn more, see
//! [Get Started with Google Maps
//! Platform](https://developers.google.com/maps/gmp-get-started).
//!
//! * This service is also available as part of the client-side [Google Maps
//! JavaScript
//! API](https://developers.google.com/maps/documentation/javascript/geocoding),
//! or for server-side use with the [Java Client, Python Client, Go Client and
//! Node.js Client for Google Maps
//! Services](https://developers.google.com/maps/documentation/geocoding/client-library).
//!
//! [Start coding with our client libraries](https://developers.google.com/maps/documentation/geocoding/start#client-library)
//!
//! Client libraries make developing with the Google Maps web service APIs
//! easier by providing simple, native implementations of common tasks, such as
//! authentication, request throttling and automatic retry. The Geocoding API is
//! available in the [Java Client, Python Client, Go Client and Node.js Client
//! for Google Maps
//! Services](https://developers.google.com/maps/documentation/geocoding/client-library).
//!
//! # [Authentication, quotas, pricing, and policies](https://developers.google.com/maps/documentation/geocoding/start#auth)
//!
//! ## [Activate the API and get an API key](https://developers.google.com/maps/documentation/geocoding/start#get-a-key)
//!
//! To use the Geocoding API, you must first activate the API in the Google
//! Cloud Platform Console and obtain the proper authentication credentials.
//! You need to provide an API key in each request (or a [client ID if you have
//! a Premium
//! Plan](https://developers.google.com/maps/documentation/geocoding/get-api-key#premium-auth).
//!
//! Click the button below to flow through a process where you will:
//! 1. Create or select a project
//! 2. Enable the API
//! 3. Get an API key
//!
//! [Get Started](https://cloud.google.com/maps-platform/#get-started)
//!
//! [Learn more about authentication
//! credentials](https://developers.google.com/maps/documentation/geocoding/get-api-key).
//!
//! ## [Quotas and pricing](https://developers.google.com/maps/documentation/geocoding/start#quotas)
//!
//! Review the [usage and
//! billing](https://developers.google.com/maps/documentation/geocoding/usage-and-billing)
//! page for details on the quotas and pricing set for the Geocoding API.
//!
//! ## [Policies](https://developers.google.com/maps/documentation/geocoding/policies)
//!
//! Use of the Geocoding API must be in accordance with the [API
//! policies](https://developers.google.com/maps/documentation/geocoding/policies).
//!
//! # [Learn more](https://developers.google.com/maps/documentation/geocoding/start#learn-more)
//!
//! There’s more you can do with the Geocoding API. See the [Geocoding API
//! developer
//! guide](https://developers.google.com/maps/documentation/geocoding/intro) for
//! additional demos, examples, available parameters, status codes and error
//! messages, and other details.
//!
//! The [Geocoding API developer
//! guide](https://developers.google.com/maps/documentation/geocoding/intro)
//! describes the Geocoding API web service. It is intended for website and
//! mobile developers who want to use geocoding data within maps provided by one
//! of the Google Maps Platform APIs.

pub mod error;
pub mod forward;
pub mod location_type;
pub mod response;
pub mod reverse;

pub use crate::geocoding::{
    error::Error as GeocodingError,
    forward::{
        component::Component as GeocodingComponent,
        ForwardRequest as GeocodingRequest,
    }, // forward
    location_type::LocationType as LocationType,
    response::{
        address_component::AddressComponent,
        geocoding::Geocoding as Geocoding,
        geometry::Geometry,
        plus_code::PlusCode,
        Response as GeocodingResponse,
        status::Status as GeocodingStatus,
    }, // response
    reverse::ReverseRequest as GeocodingReverseRequest,
}; // use