UNPKG

universal-geocoder

Version:

Universal geocoding abstraction server-side and client-side with multiple built-in providers

65 lines 4.17 kB
import { ExternalLoaderBody, ExternalLoaderHeaders, ExternalLoaderInterface, ExternalLoaderParams } from "../../ExternalLoader"; import { ErrorCallback, GeocodedResultsCallback, GoogleMapsGeocoded, GoogleMapsGeocodeQuery, GoogleMapsGeocodeQueryObject, GoogleMapsReverseQuery, GoogleMapsReverseQueryObject, ProviderInterface, ProviderOptionsInterface } from "./.."; interface GoogleMapsLatLng { lat: number; lng: number; } declare type GoogleMapsPlaceType = "airport" | "administrative_area_level_1" | "administrative_area_level_2" | "administrative_area_level_3" | "administrative_area_level_4" | "administrative_area_level_5" | "archipelago" | "bus_station" | "colloquial_area" | "continent" | "country" | "establishment" | "finance" | "floor" | "food" | "general_contractor" | "geocode" | "health" | "intersection" | "locality" | "natural_feature" | "neighborhood" | "park" | "parking" | "place_of_worship" | "plus_code" | "point_of_interest" | "political" | "post_box" | "postal_code" | "postal_code_prefix" | "postal_code_suffix" | "postal_town" | "premise" | "room" | "route" | "street_address" | "street_number" | "sublocality" | "sublocality_level_1" | "sublocality_level_2" | "sublocality_level_3" | "sublocality_level_4" | "sublocality_level_5" | "subpremise" | "town_square" | "train_station" | "transit_station" | "ward"; export declare type GoogleMapsPrecision = "ROOFTOP" | "RANGE_INTERPOLATED" | "GEOMETRIC_CENTER" | "APPROXIMATE"; export interface GoogleMapsResult { geometry: { location: GoogleMapsLatLng; location_type: GoogleMapsPrecision; viewport: { northeast: GoogleMapsLatLng; southwest: GoogleMapsLatLng; }; bounds?: { northeast: GoogleMapsLatLng; southwest: GoogleMapsLatLng; }; }; formatted_address: string; address_components: { types: GoogleMapsPlaceType[]; long_name: string; short_name: string; }[]; place_id: string; plus_code?: { global_code: string; compound_code?: string; }; types: GoogleMapsPlaceType[]; postcode_localities?: string[]; partial_match?: boolean; } export interface GoogleMapsResponse { results: GoogleMapsResult[]; status: "OK" | "ZERO_RESULTS" | "OVER_DAILY_LIMIT" | "OVER_QUERY_LIMIT" | "REQUEST_DENIED" | "INVALID_REQUEST" | "UNKNOWN_ERROR"; error_message?: string; } export interface GoogleMapsProviderOptionsInterface extends ProviderOptionsInterface { readonly apiKey?: string; readonly secret?: string; readonly clientId?: string; readonly countryCodes?: string[]; } declare type GoogleMapsGeocodedResultsCallback = GeocodedResultsCallback<GoogleMapsGeocoded>; export default class GoogleMapsProvider implements ProviderInterface<GoogleMapsGeocoded> { private externalLoader; private options; constructor(_externalLoader: ExternalLoaderInterface, options?: GoogleMapsProviderOptionsInterface); geocode(query: string | GoogleMapsGeocodeQuery | GoogleMapsGeocodeQueryObject): Promise<GoogleMapsGeocoded[]>; geocode(query: string | GoogleMapsGeocodeQuery | GoogleMapsGeocodeQueryObject, callback: GoogleMapsGeocodedResultsCallback, errorCallback?: ErrorCallback): void; geodecode(query: GoogleMapsReverseQuery | GoogleMapsReverseQueryObject): Promise<GoogleMapsGeocoded[]>; geodecode(query: GoogleMapsReverseQuery | GoogleMapsReverseQueryObject, callback: GoogleMapsGeocodedResultsCallback, errorCallback?: ErrorCallback): void; geodecode(latitude: number | string, longitude: number | string): Promise<GoogleMapsGeocoded[]>; geodecode(latitude: number | string, longitude: number | string, callback: GoogleMapsGeocodedResultsCallback, errorCallback?: ErrorCallback): void; private withCommonParams; executeRequest(params: ExternalLoaderParams, callback: GoogleMapsGeocodedResultsCallback, headers?: ExternalLoaderHeaders, body?: ExternalLoaderBody, errorCallback?: ErrorCallback): void; static mapToGeocoded(result: GoogleMapsResult): GoogleMapsGeocoded; private static signQuery; } export {}; //# sourceMappingURL=GoogleMapsProvider.d.ts.map