UNPKG

universal-geocoder

Version:

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

108 lines 4.23 kB
import { ExternalLoaderBody, ExternalLoaderHeaders, ExternalLoaderInterface, ExternalLoaderParams } from "../../ExternalLoader"; import { ErrorCallback, GeocodedResultsCallback, NominatimGeocoded, NominatimReverseQuery, NominatimReverseQueryObject, NominatimGeocodeQueryObject, NominatimGeocodeQuery, ProviderInterface, ProviderOptionsInterface } from "./.."; interface NominatimErrorResponse { error: string; } export declare type NominatimOsmType = "node" | "way" | "relation"; export interface NominatimResult { place_id: number; licence: string; osm_type: NominatimOsmType; osm_id: number; boundingbox: [string, string, string, string]; lat: string; lon: string; display_name: string; category: string; type: string; importance: number; icon: string; address: { attraction?: string; pedestrian?: string; house_name?: string; house_number?: string; road?: string; retail?: string; commercial?: string; industrial?: string; farmyard?: string; farm?: string; residental?: string; city_block?: string; quarter?: string; allotments?: string; neighbourhood?: string; isolated_dwelling?: string; croft?: string; hamlet?: string; city_district?: string; district?: string; borough?: string; subdivision?: string; suburb?: string; municipality?: string; city?: string; town?: string; village?: string; region?: string; state_district?: string; state?: string; county?: string; postcode?: string; country?: string; country_code?: string; continent?: string; }; extratags?: { phone?: string; website?: string; wikidata?: string; wikipedia?: string; wheelchair?: string; opening_hours?: string; }; namedetails?: { name: string; [name: string]: string; }; geojson?: { type: "Point"; coordinates: [number, number]; }; geokml?: string; svg?: string; geotext?: string; } export declare type NominatimResponse = NominatimErrorResponse | NominatimResult | NominatimResult[]; export interface NominatimProviderOptionsInterface extends ProviderOptionsInterface { readonly host?: string; readonly userAgent: string; readonly referer?: string; readonly countryCodes?: string[]; } export declare const defaultNominatimProviderOptions: { host: string; userAgent: string; useSsl?: boolean | undefined; useJsonp?: boolean | undefined; apiKey?: string | undefined; }; declare type NominatimGeocodedResultsCallback = GeocodedResultsCallback<NominatimGeocoded>; export default class NominatimProvider implements ProviderInterface<NominatimGeocoded> { private externalLoader; private options; constructor(_externalLoader: ExternalLoaderInterface, options?: NominatimProviderOptionsInterface); geocode(query: string | NominatimGeocodeQuery | NominatimGeocodeQueryObject): Promise<NominatimGeocoded[]>; geocode(query: string | NominatimGeocodeQuery | NominatimGeocodeQueryObject, callback: NominatimGeocodedResultsCallback, errorCallback?: ErrorCallback): void; geodecode(query: NominatimReverseQuery | NominatimReverseQueryObject): Promise<NominatimGeocoded[]>; geodecode(query: NominatimReverseQuery | NominatimReverseQueryObject, callback: NominatimGeocodedResultsCallback, errorCallback?: ErrorCallback): void; geodecode(latitude: number | string, longitude: number | string): Promise<NominatimGeocoded[]>; geodecode(latitude: number | string, longitude: number | string, callback: NominatimGeocodedResultsCallback, errorCallback?: ErrorCallback): void; private withCommonParams; private getHeaders; executeRequest(params: ExternalLoaderParams, callback: NominatimGeocodedResultsCallback, headers?: ExternalLoaderHeaders, body?: ExternalLoaderBody, errorCallback?: ErrorCallback): void; static mapToGeocoded(result: NominatimResult): NominatimGeocoded; } export {}; //# sourceMappingURL=NominatimProvider.d.ts.map