@vepler/area-reference-types
Version:
TypeScript type definitions for Vepler Area Reference API
97 lines (96 loc) • 1.94 kB
TypeScript
/**
* Get Nearest POI API Types
*
* /poi/nearest endpoint
*/
import { Coordinates, POIProperties, RoutingInfo } from './common';
/**
* Distance-based POI result
*/
export interface NearestPOIResult extends POIProperties {
/**
* Geographic coordinates
*/
coordinates: Coordinates;
/**
* Distance from query point in meters
*/
distanceMeters: number;
/**
* Bearing from query point in degrees
*/
bearingDegrees?: number;
/**
* Routing information for different transport modes
* Only included if routing parameter is true
*/
routing?: RoutingInfo;
}
/**
* Get nearest POI query parameters
*/
export interface GetNearestPOIQueryParams {
/**
* Latitude coordinate
*/
lat: number;
/**
* Longitude coordinate
*/
lng: number;
/**
* Comma-separated list of POI category IDs (e.g., "RETAIL,FERRY,BUS")
* If not provided or empty, returns POIs of all categories
*/
types?: string;
/**
* Maximum number of results
*/
limit?: number;
/**
* Search radius in meters
*/
radius?: number;
/**
* Include routing information for car, bike, and foot
*/
routing?: boolean;
}
/**
* Query metadata for nearest POI
*/
export interface NearestPOIMetadata {
/**
* Query coordinates
*/
queryPoint: Coordinates;
/**
* Search radius used
*/
radiusMeters: number;
/**
* Total POIs found
*/
totalFound: number;
/**
* Applied category filters
*/
categoryFilters?: string[];
/**
* Query execution time in milliseconds
*/
executionTimeMs?: number;
}
/**
* Get nearest POI response
*/
export interface GetNearestPOIResponse {
/**
* Array of nearest POI results
*/
results: NearestPOIResult[];
/**
* Query metadata
*/
meta: NearestPOIMetadata;
}