Created
July 21, 2020 15:52
-
-
Save syntaxhacker/1992f8532f4cec10e84aa0b16c516b7a to your computer and use it in GitHub Desktop.
geocoder types
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
declare namespace node_geocoder { | |
type Providers = | |
'freegeoip' | 'datasciencetoolkit' | | |
'locationiq' | 'mapquest' | 'openmapquest' | | |
'tomtom' | 'nominatimmapquest' | | |
'opencage' | 'geocodio' | | |
'yandex' | 'teleport' | 'pickpoint'; | |
interface BaseOptions { | |
provider: string; | |
httpAdapter?: 'https' | 'http' | 'request'; | |
timeout?: number; | |
formatterPattern?: string; | |
formatter?: any; | |
} | |
interface HereOptions { | |
provider: 'here'; | |
appId: string; | |
appCode: string; | |
language?: string; | |
politicalView?: string; | |
country?: string; | |
state?: string; | |
production?: boolean; | |
} | |
interface OpenStreetMapOptions { | |
provider: 'openstreetmap'; | |
language?: string; | |
email?: string; | |
apiKey?: string; | |
osmServer?: string; | |
} | |
interface OpenDataFranceOptions { | |
provider: 'opendatafrance'; | |
language?: string; | |
email?: string; | |
apiKey?: string; | |
} | |
interface AgolOptions { | |
provider: 'agol'; | |
client_id?: string; | |
client_secret?: string; | |
} | |
interface SmartyStreetsOptions { | |
provider: 'smartyStreet'; | |
auth_id: string; | |
auth_token: string; | |
} | |
interface GoogleOptions { | |
provider: 'google'; | |
clientId?: string; | |
apiKey?: string; | |
language?: string; | |
region?: string; | |
excludePartialMatches?: boolean; | |
channel?: string; | |
} | |
interface GenericOptions { | |
provider: Providers; | |
apiKey?: string; | |
language?: string; | |
host?: string; | |
} | |
type Options = BaseOptions & (GenericOptions | HereOptions | OpenStreetMapOptions | OpenDataFranceOptions | AgolOptions | SmartyStreetsOptions | GoogleOptions); | |
interface Location { | |
lat: number; | |
lon: number; | |
} | |
interface Entry { | |
formattedAddress?: string; | |
latitude?: number; | |
longitude?: number; | |
extra?: { | |
googlePlaceId?: string; | |
confidence?: number; | |
}; | |
administrativeLevels?: { | |
level1long?: string; | |
level1short?: string; | |
level2long?: string; | |
level2short?: string; | |
}; | |
city?: string; | |
streetName?: string; | |
streetNumber?: string; | |
country?: string; | |
countryCode?: string; | |
zipcode?: string; | |
provider?: string; | |
state?: string; | |
stateCode?: string; | |
county?: string; | |
district?: string; | |
building?: string; | |
} | |
interface Query { | |
address?: string; | |
country?: string; | |
countryCode?: string; | |
zipcode?: string; | |
minConfidence?: number; | |
limit?: number; | |
} | |
interface BatchResult { | |
error: any; | |
value: Entry[]; | |
} | |
class Geocoder { | |
geocode(query: string | Query, cb?: (err: any, data: Entry[]) => void): Promise<Entry[]>; | |
batchGeocode(queries: string[] | Query[], cb?: (err: any, data: BatchResult[]) => void): Promise<BatchResult[]>; | |
reverse(loc: Location, cb?: (err: any, data: Entry[]) => void): Promise<Entry[]>; | |
} | |
} | |
declare function node_geocoder(options: node_geocoder.Options): node_geocoder.Geocoder; | |
export = node_geocoder; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment