universal-geocoder
Version:
Universal geocoding abstraction server-side and client-side with multiple built-in providers
33 lines • 2.01 kB
TypeScript
import { ExternalLoaderBody, ExternalLoaderHeaders, ExternalLoaderParams } from "../ExternalLoader";
import Geocoded from "../Geocoded";
import { ErrorCallback, GeocodedResultsCallback, ProviderInterface, ProviderOptionsInterface } from "./";
import { GeocodeQuery, GeocodeQueryObject, ReverseQuery, ReverseQueryObject } from "../query";
export interface ChainProviderOptionsInterface extends ProviderOptionsInterface {
readonly providers: ProviderInterface<Geocoded>[];
readonly parallelize?: boolean;
readonly first?: boolean;
}
export declare const defaultChainProviderOptions: {
providers: never[];
useSsl?: boolean | undefined;
useJsonp?: boolean | undefined;
apiKey?: string | undefined;
};
declare type ChainGeocodedResultsCallback = GeocodedResultsCallback<Geocoded>;
export default class ChainProvider implements ProviderInterface<Geocoded> {
private options;
constructor(options?: ChainProviderOptionsInterface);
geocode(query: string | GeocodeQuery | GeocodeQueryObject): Promise<Geocoded[]>;
geocode(query: string | GeocodeQuery | GeocodeQueryObject, callback: ChainGeocodedResultsCallback, errorCallback?: ErrorCallback): void;
geodecode(query: ReverseQuery | ReverseQueryObject): Promise<Geocoded[]>;
geodecode(query: ReverseQuery | ReverseQueryObject, callback: ChainGeocodedResultsCallback, errorCallback?: ErrorCallback): void;
geodecode(latitude: number | string, longitude: number | string): Promise<Geocoded[]>;
geodecode(latitude: number | string, longitude: number | string, callback: ChainGeocodedResultsCallback, errorCallback?: ErrorCallback): void;
private geocodeNextProvider;
private geodecodeNextProvider;
private geocodeAllProviders;
private geodecodeAllProviders;
executeRequest(params: ExternalLoaderParams, callback: ChainGeocodedResultsCallback, headers?: ExternalLoaderHeaders, body?: ExternalLoaderBody, errorCallback?: ErrorCallback): void;
}
export {};
//# sourceMappingURL=ChainProvider.d.ts.map