/** * @typedef {Object} NominatimSearchResult * @property {string} name * @property {string} [label] * @property {string[]} coordinate */ /** * @typedef {Object} NominatimSearchResponseResult * @property {string} display_name * @property {string} lon * @property {string} lat */ /** * Service to provide access to Nominatim, which allows to search for * OSM data by name and address. * * @param {angular.IHttpService} $http Angular http service. * @param {import('ngeo/misc/debounce').miscDebounce} ngeoDebounce * ngeo Debounce service. * @param {string} ngeoNominatimUrl The nominatim URL. * @param {import('ngeo/options').ngeoNominatimSearchDefaultParams} ngeoNominatimSearchDefaultParams The search parameters * @class * @ngdoc service * @ngname ngeoNominatimService * @see https://wiki.openstreetmap.org/wiki/Nominatim * @hidden */ export function NominatimService($http: angular.IHttpService, ngeoDebounce: import("ngeo/misc/debounce").miscDebounce<(arg0: string, arg1: (arg0: NominatimSearchResult[]) => void, arg2: ((arg0: NominatimSearchResult[]) => void) | undefined) => void>, ngeoNominatimUrl: string, ngeoNominatimSearchDefaultParams: import("ngeo/options").ngeoNominatimSearchDefaultParams): void; export class NominatimService { /** * @typedef {Object} NominatimSearchResult * @property {string} name * @property {string} [label] * @property {string[]} coordinate */ /** * @typedef {Object} NominatimSearchResponseResult * @property {string} display_name * @property {string} lon * @property {string} lat */ /** * Service to provide access to Nominatim, which allows to search for * OSM data by name and address. * * @param {angular.IHttpService} $http Angular http service. * @param {import('ngeo/misc/debounce').miscDebounce} ngeoDebounce * ngeo Debounce service. * @param {string} ngeoNominatimUrl The nominatim URL. * @param {import('ngeo/options').ngeoNominatimSearchDefaultParams} ngeoNominatimSearchDefaultParams The search parameters * @class * @ngdoc service * @ngname ngeoNominatimService * @see https://wiki.openstreetmap.org/wiki/Nominatim * @hidden */ constructor($http: angular.IHttpService, ngeoDebounce: import("ngeo/misc/debounce").miscDebounce<(arg0: string, arg1: (arg0: NominatimSearchResult[]) => void, arg2: ((arg0: NominatimSearchResult[]) => void) | undefined) => void>, ngeoNominatimUrl: string, ngeoNominatimSearchDefaultParams: import("ngeo/options").ngeoNominatimSearchDefaultParams); /** * @type {angular.IHttpService} */ $http_: angular.IHttpService; /** * @type {import('ngeo/misc/debounce').miscDebounce} */ ngeoDebounce_: import("ngeo/misc/debounce").miscDebounce<(arg0: string, arg1: (arg0: NominatimSearchResult[]) => void, arg2: ((arg0: NominatimSearchResult[]) => void) | undefined) => void>; /** * URL for Nominatim backend * Defaults openstreetmap instance. * * @type {string} */ nominatimUrl_: string; /** * @type {import('ngeo/options').ngeoNominatimSearchDefaultParams} */ searchDefaultParams_: import("ngeo/options").ngeoNominatimSearchDefaultParams; /** * Delay (in milliseconds) to avoid calling the API too often. * Only if there were no calls for that many milliseconds, * the last call will be executed. * * @type {number} */ typeaheadDebounceDelay_: number; /** * @type {(query: string, syncResults: (result: NominatimSearchResult[]) => void, asyncResults: ((result: NominatimSearchResult[]) => void) | undefined) => void} */ typeaheadSourceDebounced: (query: string, syncResults: (result: NominatimSearchResult[]) => void, asyncResults: ((result: NominatimSearchResult[]) => void) | undefined) => void; /** * Search by name * * @param {string} query Search query * @param {?Object} params Optional parameters * @returns {angular.IHttpPromise} promise of the Nominatim API request * @see https://wiki.openstreetmap.org/wiki/Nominatim#Search */ search(query: string, params: { [x: string]: string; } | null): angular.IHttpPromise; /** * Reverse Geocoding * * @param {import('ol/coordinate').Coordinate} coordinate Search coordinate in LonLat projection * @param {(Object|undefined)} params Optional parameters * @returns {angular.IHttpPromise} promise of the Nominatim API request * @see https://wiki.openstreetmap.org/wiki/Nominatim#Reverse_Geocoding */ reverse(coordinate: import("ol/coordinate").Coordinate, params: ({ [x: string]: string; } | undefined)): angular.IHttpPromise; /** * @param {string} query Search query * @param {(result: NominatimSearchResult[]) => void} syncResults Callback for synchronous execution, unused * @param {(result: NominatimSearchResult[]) => void} [asyncResults] Callback for asynchronous execution */ typeaheadSource_(query: string, syncResults: (result: NominatimSearchResult[]) => void, asyncResults?: (result: NominatimSearchResult[]) => void): void; } export namespace NominatimService { let $inject: string[]; } export default myModule; export type NominatimSearchResult = { name: string; label?: string; coordinate: string[]; }; export type NominatimSearchResponseResult = { display_name: string; lon: string; lat: string; }; import angular from 'angular'; /** * @type {angular.IModule} * @hidden */ declare const myModule: angular.IModule;