@tomtom-org/maps-sdk 0.45.11 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/core/dist/core.es.js +1 -1
- package/core/dist/core.es.js.map +1 -1
- package/core/dist/index.d.ts +282 -82
- package/core/package.json +0 -3
- package/map/dist/index.d.ts +34 -23
- package/map/dist/map.es.js +1 -1
- package/map/dist/map.es.js.map +1 -1
- package/package.json +3 -3
- package/services/dist/index.d.ts +701 -88
- package/services/dist/services.es.js +1 -1
- package/services/dist/services.es.js.map +1 -1
package/services/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ import { ChargingStation } from '@tomtom-org/maps-sdk/core';
|
|
|
6
6
|
import { ChargingStationsAccessType } from '@tomtom-org/maps-sdk/core';
|
|
7
7
|
import { ChargingStationsAvailability } from '@tomtom-org/maps-sdk/core';
|
|
8
8
|
import { ChargingStopProps } from '@tomtom-org/maps-sdk/core';
|
|
9
|
-
import { Classification } from '@tomtom-org/maps-sdk/core';
|
|
10
9
|
import { CommonPlaceProps } from '@tomtom-org/maps-sdk/core';
|
|
11
10
|
import { Connector } from '@tomtom-org/maps-sdk/core';
|
|
12
11
|
import { ConnectorType } from '@tomtom-org/maps-sdk/core';
|
|
@@ -39,6 +38,7 @@ import { Places as Places_2 } from '@tomtom-org/maps-sdk/core';
|
|
|
39
38
|
import { PlaceType } from '@tomtom-org/maps-sdk/core';
|
|
40
39
|
import { PlugType } from '@tomtom-org/maps-sdk/core';
|
|
41
40
|
import { POICategory } from '@tomtom-org/maps-sdk/core';
|
|
41
|
+
import { POICategory as POICategory_2 } from '@tomtom-org/maps-sdk/core';
|
|
42
42
|
import { Point } from 'geojson';
|
|
43
43
|
import { Polygon } from 'geojson';
|
|
44
44
|
import { PolygonFeature } from '@tomtom-org/maps-sdk/core';
|
|
@@ -58,6 +58,7 @@ import { SearchPlaceProps as SearchPlaceProps_2 } from '@tomtom-org/maps-sdk/cor
|
|
|
58
58
|
import { SideOfStreet } from '@tomtom-org/maps-sdk/core';
|
|
59
59
|
import { TimeZone } from '@tomtom-org/maps-sdk/core';
|
|
60
60
|
import { TomTomHeaders } from '@tomtom-org/maps-sdk/core';
|
|
61
|
+
import { TrafficAreaAnalytics } from '@tomtom-org/maps-sdk/core';
|
|
61
62
|
import { TrafficIncidentCategory } from '@tomtom-org/maps-sdk/core';
|
|
62
63
|
import { TrafficIncidentDetails } from '@tomtom-org/maps-sdk/core';
|
|
63
64
|
import { TrafficIncidentTEC } from '@tomtom-org/maps-sdk/core';
|
|
@@ -99,6 +100,15 @@ declare type AddressRangesAPI = {
|
|
|
99
100
|
to: LatLonAPI;
|
|
100
101
|
};
|
|
101
102
|
|
|
103
|
+
/**
|
|
104
|
+
* @ignore
|
|
105
|
+
*/
|
|
106
|
+
declare type AnomalyAPI = {
|
|
107
|
+
startDate: string;
|
|
108
|
+
endDate: string;
|
|
109
|
+
labels: string[];
|
|
110
|
+
};
|
|
111
|
+
|
|
102
112
|
/**
|
|
103
113
|
* @ignore
|
|
104
114
|
*/
|
|
@@ -129,6 +139,89 @@ declare type APIErrorResponse<T = DefaultAPIResponseErrorBody> = {
|
|
|
129
139
|
data?: T;
|
|
130
140
|
};
|
|
131
141
|
|
|
142
|
+
/**
|
|
143
|
+
* @ignore
|
|
144
|
+
*/
|
|
145
|
+
declare type AreaAnalyticsCollectionPropertiesAPI = {
|
|
146
|
+
startDate: string;
|
|
147
|
+
endDate: string;
|
|
148
|
+
dataTypes: string[];
|
|
149
|
+
heatmap: boolean;
|
|
150
|
+
frcs: number[];
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* A traffic metric that can be requested in an area analytics report.
|
|
155
|
+
*
|
|
156
|
+
* @group Traffic
|
|
157
|
+
*/
|
|
158
|
+
export declare type AreaAnalyticsDataType = (typeof areaAnalyticsDataTypes)[number];
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Valid data-type identifiers for area analytics requests.
|
|
162
|
+
*
|
|
163
|
+
* @group Traffic
|
|
164
|
+
*/
|
|
165
|
+
export declare const areaAnalyticsDataTypes: readonly ["NETWORK_LENGTH", "CONGESTION_LEVEL", "FREE_FLOW_SPEED", "TRAVEL_TIME", "SPEED"];
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* A date value accepted by Traffic Area Analytics — either a `Date` object or
|
|
169
|
+
* an ISO `'YYYY-MM-DD'` string.
|
|
170
|
+
* `Date` objects are automatically converted to `YYYY-MM-DD` format before
|
|
171
|
+
* being sent to the API.
|
|
172
|
+
*
|
|
173
|
+
* @group Traffic
|
|
174
|
+
*/
|
|
175
|
+
export declare type AreaAnalyticsDateInput = string | Date;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* @ignore
|
|
179
|
+
*/
|
|
180
|
+
declare type AreaAnalyticsFeatureAPI = {
|
|
181
|
+
type: 'Feature';
|
|
182
|
+
id: string;
|
|
183
|
+
geometry: Polygon;
|
|
184
|
+
properties: FeaturePropertiesAPI;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* @ignore
|
|
189
|
+
*/
|
|
190
|
+
declare type AreaAnalyticsRequestBody = {
|
|
191
|
+
name?: string;
|
|
192
|
+
/** Continuous range start — mutually exclusive with `days`. */
|
|
193
|
+
startDate?: string;
|
|
194
|
+
/** Continuous range end — mutually exclusive with `days`. */
|
|
195
|
+
endDate?: string;
|
|
196
|
+
/** Specific dates — mutually exclusive with `startDate`/`endDate`. */
|
|
197
|
+
days?: string[];
|
|
198
|
+
dataTypes: string[];
|
|
199
|
+
frcs: number[];
|
|
200
|
+
hours: number[];
|
|
201
|
+
features: AreaAnalyticsRequestBodyFeature[];
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* @ignore
|
|
206
|
+
*/
|
|
207
|
+
declare type AreaAnalyticsRequestBodyFeature = {
|
|
208
|
+
type: 'Feature';
|
|
209
|
+
properties?: {
|
|
210
|
+
name?: string;
|
|
211
|
+
timezone?: string;
|
|
212
|
+
};
|
|
213
|
+
geometry: Polygon | MultiPolygon;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* @ignore
|
|
218
|
+
*/
|
|
219
|
+
declare type AreaAnalyticsResponseAPI = {
|
|
220
|
+
type: 'FeatureCollection';
|
|
221
|
+
properties: AreaAnalyticsCollectionPropertiesAPI;
|
|
222
|
+
features: AreaAnalyticsFeatureAPI[];
|
|
223
|
+
};
|
|
224
|
+
|
|
132
225
|
/**
|
|
133
226
|
* Base properties shared across all autocomplete segment types.
|
|
134
227
|
*
|
|
@@ -192,7 +285,6 @@ export declare type AutocompleteGenericSearchSegment = {
|
|
|
192
285
|
* ```typescript
|
|
193
286
|
* // Autocomplete as user types "amster"
|
|
194
287
|
* const suggestions = await autocompleteSearch({
|
|
195
|
-
* key: 'your-api-key',
|
|
196
288
|
* query: 'amster',
|
|
197
289
|
* limit: 5
|
|
198
290
|
* });
|
|
@@ -200,18 +292,17 @@ export declare type AutocompleteGenericSearchSegment = {
|
|
|
200
292
|
*
|
|
201
293
|
* // Autocomplete with position bias
|
|
202
294
|
* const localSuggestions = await autocompleteSearch({
|
|
203
|
-
* key: 'your-api-key',
|
|
204
295
|
* query: 'main st',
|
|
205
|
-
*
|
|
296
|
+
* position: [4.9041, 52.3676], // Near Amsterdam
|
|
206
297
|
* limit: 10
|
|
207
298
|
* });
|
|
208
299
|
*
|
|
209
|
-
* // Autocomplete with
|
|
210
|
-
* const
|
|
211
|
-
* key: 'your-api-key',
|
|
300
|
+
* // Autocomplete restricted to a country with radius
|
|
301
|
+
* const nlSuggestions = await autocompleteSearch({
|
|
212
302
|
* query: 'pizz',
|
|
213
|
-
*
|
|
214
|
-
*
|
|
303
|
+
* countries: ['NL'],
|
|
304
|
+
* position: [4.9041, 52.3676],
|
|
305
|
+
* radiusMeters: 5000
|
|
215
306
|
* });
|
|
216
307
|
* ```
|
|
217
308
|
*
|
|
@@ -248,12 +339,12 @@ export declare type AutocompleteSearchBrandSegment = AutocompleteGenericSearchSe
|
|
|
248
339
|
export declare type AutocompleteSearchCategorySegment = AutocompleteGenericSearchSegment & {
|
|
249
340
|
type: 'category';
|
|
250
341
|
/**
|
|
251
|
-
*
|
|
342
|
+
* The recognized POI category.
|
|
252
343
|
*
|
|
253
344
|
* Use with the poiCategories parameter in other search endpoints
|
|
254
345
|
* to restrict results to POIs of this category.
|
|
255
346
|
*/
|
|
256
|
-
|
|
347
|
+
category: POICategory;
|
|
257
348
|
/**
|
|
258
349
|
* Alternative name that matched the user query.
|
|
259
350
|
*
|
|
@@ -265,6 +356,15 @@ export declare type AutocompleteSearchCategorySegment = AutocompleteGenericSearc
|
|
|
265
356
|
matchedAlternativeName?: string;
|
|
266
357
|
};
|
|
267
358
|
|
|
359
|
+
/**
|
|
360
|
+
* @ignore
|
|
361
|
+
*/
|
|
362
|
+
export declare type AutocompleteSearchCategorySegmentAPI = AutocompleteGenericSearchSegment & {
|
|
363
|
+
type: 'category';
|
|
364
|
+
id: string;
|
|
365
|
+
matchedAlternativeName?: string;
|
|
366
|
+
};
|
|
367
|
+
|
|
268
368
|
/**
|
|
269
369
|
* Context information for an autocomplete search request.
|
|
270
370
|
*
|
|
@@ -543,7 +643,7 @@ export declare type AutocompleteSearchResponse = {
|
|
|
543
643
|
*/
|
|
544
644
|
export declare type AutocompleteSearchResponseAPI = {
|
|
545
645
|
context: AutocompleteSearchContextAPI;
|
|
546
|
-
results:
|
|
646
|
+
results: AutocompleteSearchResultAPI[];
|
|
547
647
|
};
|
|
548
648
|
|
|
549
649
|
/**
|
|
@@ -564,6 +664,13 @@ export declare type AutocompleteSearchResult = {
|
|
|
564
664
|
segments: AutocompleteSearchSegment[];
|
|
565
665
|
};
|
|
566
666
|
|
|
667
|
+
/**
|
|
668
|
+
* @ignore
|
|
669
|
+
*/
|
|
670
|
+
export declare type AutocompleteSearchResultAPI = {
|
|
671
|
+
segments: AutocompleteSearchSegmentAPI[];
|
|
672
|
+
};
|
|
673
|
+
|
|
567
674
|
/**
|
|
568
675
|
* Geographic bias parameters for autocomplete search results.
|
|
569
676
|
*
|
|
@@ -605,6 +712,11 @@ export declare type AutocompleteSearchResultGeoBiasAPI = {
|
|
|
605
712
|
*/
|
|
606
713
|
export declare type AutocompleteSearchSegment = AutocompleteSearchBrandSegment | AutocompleteSearchCategorySegment | AutocompleteSearchPlaintextSegment;
|
|
607
714
|
|
|
715
|
+
/**
|
|
716
|
+
* @ignore
|
|
717
|
+
*/
|
|
718
|
+
export declare type AutocompleteSearchSegmentAPI = AutocompleteSearchBrandSegment | AutocompleteSearchCategorySegmentAPI | AutocompleteSearchPlaintextSegment;
|
|
719
|
+
|
|
608
720
|
/**
|
|
609
721
|
* Segment type for autocomplete results.
|
|
610
722
|
*
|
|
@@ -834,6 +946,12 @@ export declare const buildResponseError: (error: unknown, serviceName: ServiceNa
|
|
|
834
946
|
*/
|
|
835
947
|
declare const buildRevGeoRequest: (params: ReverseGeocodingParams) => URL;
|
|
836
948
|
|
|
949
|
+
/**
|
|
950
|
+
* Default method for building a Traffic Area Analytics request from {@link TrafficAreaAnalyticsParams}.
|
|
951
|
+
* @param params The traffic area analytics parameters, with global configuration already merged.
|
|
952
|
+
*/
|
|
953
|
+
declare const buildTrafficAreaAnalyticsRequest: (params: TrafficAreaAnalyticsParams) => FetchInput<AreaAnalyticsRequestBody>;
|
|
954
|
+
|
|
837
955
|
/**
|
|
838
956
|
* Default method for building a traffic incident details request from {@link TrafficIncidentDetailsParams}.
|
|
839
957
|
* @param params The traffic incident details parameters, with global configuration already merged into them.
|
|
@@ -2025,23 +2143,20 @@ export declare type CommonGeocodeAndFuzzySearchParams = {
|
|
|
2025
2143
|
*
|
|
2026
2144
|
* @example
|
|
2027
2145
|
* ```typescript
|
|
2028
|
-
* //
|
|
2146
|
+
* // Search with position bias
|
|
2029
2147
|
* const searchParams: CommonPlacesParams<URL, Response> = {
|
|
2030
|
-
* query: 'pizza restaurant',
|
|
2031
2148
|
* position: [4.9041, 52.3676], // Near Amsterdam
|
|
2032
2149
|
* limit: 20
|
|
2033
2150
|
* };
|
|
2034
2151
|
*
|
|
2035
2152
|
* // Search with geography type filter
|
|
2036
2153
|
* const citySearch: CommonPlacesParams<URL, Response> = {
|
|
2037
|
-
* query: 'Paris',
|
|
2038
2154
|
* geographyTypes: ['Municipality'], // Only cities
|
|
2039
2155
|
* limit: 10
|
|
2040
2156
|
* };
|
|
2041
2157
|
*
|
|
2042
2158
|
* // Search with mapcodes and specific geopolitical view
|
|
2043
2159
|
* const detailedSearch: CommonPlacesParams<URL, Response> = {
|
|
2044
|
-
* query: 'disputed location',
|
|
2045
2160
|
* view: 'IN', // India's perspective
|
|
2046
2161
|
* mapcodes: ['Local', 'International'],
|
|
2047
2162
|
* extendedPostalCodesFor: ['PAD', 'POI'],
|
|
@@ -2050,7 +2165,6 @@ export declare type CommonGeocodeAndFuzzySearchParams = {
|
|
|
2050
2165
|
*
|
|
2051
2166
|
* // Address search with extended postal codes
|
|
2052
2167
|
* const addressSearch: CommonPlacesParams<URL, Response> = {
|
|
2053
|
-
* query: '123 Main Street',
|
|
2054
2168
|
* geographyTypes: ['Country', 'Municipality'],
|
|
2055
2169
|
* extendedPostalCodesFor: ['Geo', 'PAD', 'Addr'],
|
|
2056
2170
|
* limit: 15
|
|
@@ -2060,30 +2174,6 @@ export declare type CommonGeocodeAndFuzzySearchParams = {
|
|
|
2060
2174
|
* @group Search
|
|
2061
2175
|
*/
|
|
2062
2176
|
export declare type CommonPlacesParams<ApiRequest, ApiResponse> = CommonServiceParams<ApiRequest, ApiResponse> & {
|
|
2063
|
-
/**
|
|
2064
|
-
* Search query string.
|
|
2065
|
-
*
|
|
2066
|
-
* The text to search for - can be an address, place name, POI, or general location query.
|
|
2067
|
-
* Must be properly URL encoded when sent to the API.
|
|
2068
|
-
*
|
|
2069
|
-
* @remarks
|
|
2070
|
-
* **Query Examples:**
|
|
2071
|
-
* - Street addresses: "123 Main Street, New York"
|
|
2072
|
-
* - Place names: "Eiffel Tower", "Central Park"
|
|
2073
|
-
* - POI names: "Starbucks", "McDonald's"
|
|
2074
|
-
* - General queries: "pizza near me", "gas station"
|
|
2075
|
-
* - Partial inputs: "Amst" (for autocomplete)
|
|
2076
|
-
*
|
|
2077
|
-
* The query is processed with fuzzy matching to handle typos and variations.
|
|
2078
|
-
*
|
|
2079
|
-
* @example
|
|
2080
|
-
* ```typescript
|
|
2081
|
-
* query: "1600 Pennsylvania Avenue, Washington DC"
|
|
2082
|
-
* query: "Amsterdam Central Station"
|
|
2083
|
-
* query: "coffee shop"
|
|
2084
|
-
* ```
|
|
2085
|
-
*/
|
|
2086
|
-
query: string;
|
|
2087
2177
|
/**
|
|
2088
2178
|
* Geographic position to bias search results.
|
|
2089
2179
|
*
|
|
@@ -2442,6 +2532,31 @@ export declare type CommonRoutingParams = {
|
|
|
2442
2532
|
* @group Search
|
|
2443
2533
|
*/
|
|
2444
2534
|
export declare type CommonSearchParams<ApiRequest, ApiResponse> = CommonPlacesParams<ApiRequest, ApiResponse> & {
|
|
2535
|
+
/**
|
|
2536
|
+
* Search query string.
|
|
2537
|
+
*
|
|
2538
|
+
* The text to search for — can be a place name, POI, address, or any free-form location query.
|
|
2539
|
+
* When omitted, results are driven entirely by other filters such as {@link poiCategories},
|
|
2540
|
+
* {@link poiBrands}, {@link fuelTypes}, or {@link geometries}.
|
|
2541
|
+
*
|
|
2542
|
+
* @remarks
|
|
2543
|
+
* **Query Examples:**
|
|
2544
|
+
* - Place/POI names: "Eiffel Tower", "Starbucks"
|
|
2545
|
+
* - General queries: "pizza near me", "gas station"
|
|
2546
|
+
* - Partial inputs: "Amst" (for autocomplete / typeahead)
|
|
2547
|
+
*
|
|
2548
|
+
* The query is processed with fuzzy matching to handle typos and variations.
|
|
2549
|
+
*
|
|
2550
|
+
* @example
|
|
2551
|
+
* ```typescript
|
|
2552
|
+
* // Text-driven search
|
|
2553
|
+
* query: 'coffee shop'
|
|
2554
|
+
*
|
|
2555
|
+
* // Omit query to search purely by category
|
|
2556
|
+
* poiCategories: ['ELECTRIC_VEHICLE_STATION']
|
|
2557
|
+
* ```
|
|
2558
|
+
*/
|
|
2559
|
+
query?: string;
|
|
2445
2560
|
/**
|
|
2446
2561
|
* Specify which search indexes to query.
|
|
2447
2562
|
*
|
|
@@ -2476,35 +2591,31 @@ export declare type CommonSearchParams<ApiRequest, ApiResponse> = CommonPlacesPa
|
|
|
2476
2591
|
* Filter results to specific POI categories.
|
|
2477
2592
|
*
|
|
2478
2593
|
* Restricts results to Points of Interest belonging to the specified
|
|
2479
|
-
* categories. Use
|
|
2594
|
+
* categories. Use values from the {@link POICategory} type.
|
|
2480
2595
|
*
|
|
2481
2596
|
* @remarks
|
|
2482
|
-
* **Category Examples:**
|
|
2483
|
-
* - 7315: Restaurant
|
|
2484
|
-
* - 7311: Petrol/Gas Station
|
|
2485
|
-
* - 7313: Hotel/Motel
|
|
2486
|
-
* - 7832: ATM
|
|
2487
|
-
* - 9361: Parking
|
|
2488
|
-
*
|
|
2489
2597
|
* **Multiple Categories:**
|
|
2490
2598
|
* Results include POIs matching ANY of the specified categories (OR logic).
|
|
2491
2599
|
*
|
|
2492
|
-
* **
|
|
2493
|
-
* Use the
|
|
2600
|
+
* **Discovering Categories:**
|
|
2601
|
+
* Use the {@link getPOICategories} service to search and browse available
|
|
2602
|
+
* categories by name or synonym, then pass the resulting `code` values here.
|
|
2494
2603
|
*
|
|
2495
2604
|
* @example
|
|
2496
2605
|
* ```typescript
|
|
2497
|
-
* //
|
|
2498
|
-
* poiCategories: [
|
|
2606
|
+
* // Filter to specific categories
|
|
2607
|
+
* poiCategories: ['RESTAURANT', 'CAFE']
|
|
2499
2608
|
*
|
|
2500
|
-
* //
|
|
2501
|
-
* poiCategories: [
|
|
2609
|
+
* // Category-only search (no query)
|
|
2610
|
+
* poiCategories: ['ELECTRIC_VEHICLE_STATION']
|
|
2502
2611
|
*
|
|
2503
|
-
* //
|
|
2504
|
-
*
|
|
2612
|
+
* // Discovered via getPOICategories() service
|
|
2613
|
+
* import { getPOICategoryCodes } from '@tomtom-org/maps-sdk/services';
|
|
2614
|
+
* const codes = await getPOICategoryCodes({ filters: ['italian'] });
|
|
2615
|
+
* const results = await search({ poiCategories: codes, position });
|
|
2505
2616
|
* ```
|
|
2506
2617
|
*/
|
|
2507
|
-
poiCategories?:
|
|
2618
|
+
poiCategories?: POICategory[];
|
|
2508
2619
|
/**
|
|
2509
2620
|
* Filter results to specific POI brands.
|
|
2510
2621
|
*
|
|
@@ -3134,6 +3245,12 @@ declare const customize: {
|
|
|
3134
3245
|
};
|
|
3135
3246
|
|
|
3136
3247
|
declare const customize_10: {
|
|
3248
|
+
buildPlaceByIdRequest: typeof buildPlaceByIdRequest;
|
|
3249
|
+
parsePlaceByIdResponse: typeof parsePlaceByIdResponse;
|
|
3250
|
+
placeByIdTemplate: PlaceByIdTemplate;
|
|
3251
|
+
};
|
|
3252
|
+
|
|
3253
|
+
declare const customize_11: {
|
|
3137
3254
|
autocompleteSearch: typeof autocompleteSearch;
|
|
3138
3255
|
buildAutocompleteSearchRequest: typeof buildAutocompleteSearchRequest;
|
|
3139
3256
|
parseAutocompleteSearchResponse: typeof parseAutocompleteSearchResponse;
|
|
@@ -3178,15 +3295,15 @@ declare const customize_7: {
|
|
|
3178
3295
|
};
|
|
3179
3296
|
|
|
3180
3297
|
declare const customize_8: {
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3298
|
+
buildTrafficAreaAnalyticsRequest: typeof buildTrafficAreaAnalyticsRequest;
|
|
3299
|
+
parseTrafficAreaAnalyticsResponse: typeof parseTrafficAreaAnalyticsResponse;
|
|
3300
|
+
trafficAreaAnalyticsTemplate: TrafficAreaAnalyticsTemplate;
|
|
3184
3301
|
};
|
|
3185
3302
|
|
|
3186
3303
|
declare const customize_9: {
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3304
|
+
buildTrafficIncidentDetailsRequest: typeof buildTrafficIncidentDetailsRequest;
|
|
3305
|
+
parseTrafficIncidentDetailsResponse: typeof parseTrafficIncidentDetailsResponse;
|
|
3306
|
+
trafficIncidentDetailsTemplate: TrafficIncidentDetailsTemplate;
|
|
3190
3307
|
};
|
|
3191
3308
|
|
|
3192
3309
|
/**
|
|
@@ -3239,9 +3356,10 @@ export declare const customizeService: {
|
|
|
3239
3356
|
calculateRoute: typeof customize_5;
|
|
3240
3357
|
reachableRange: typeof customize_6;
|
|
3241
3358
|
evChargingStationsAvailability: typeof customize_7;
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3359
|
+
trafficAreaAnalytics: typeof customize_8;
|
|
3360
|
+
trafficIncidentDetails: typeof customize_9;
|
|
3361
|
+
placeByID: typeof customize_10;
|
|
3362
|
+
autocompleteSearch: typeof customize_11;
|
|
3245
3363
|
};
|
|
3246
3364
|
|
|
3247
3365
|
/**
|
|
@@ -3789,6 +3907,28 @@ declare type ExplicitVehicleModel<E extends VehicleEngineType> = {
|
|
|
3789
3907
|
*/
|
|
3790
3908
|
export declare type ExtendedRouteRepresentation = 'distance' | 'travelTime';
|
|
3791
3909
|
|
|
3910
|
+
/**
|
|
3911
|
+
* @ignore
|
|
3912
|
+
*/
|
|
3913
|
+
declare type FeaturePropertiesAPI = {
|
|
3914
|
+
name: string;
|
|
3915
|
+
timezone: string;
|
|
3916
|
+
level: number;
|
|
3917
|
+
baseData: MetricsAPI;
|
|
3918
|
+
timedData: {
|
|
3919
|
+
yearly?: TimedEntryAPI[];
|
|
3920
|
+
monthly?: TimedEntryAPI[];
|
|
3921
|
+
weekly?: TimedEntryAPI[];
|
|
3922
|
+
daily?: TimedEntryAPI[];
|
|
3923
|
+
hourly?: TimedEntryAPI[];
|
|
3924
|
+
average?: TimedEntryAPI[];
|
|
3925
|
+
};
|
|
3926
|
+
tiledData?: {
|
|
3927
|
+
tiles: TiledEntryAPI[];
|
|
3928
|
+
};
|
|
3929
|
+
anomalies?: Record<string, AnomalyAPI[]>;
|
|
3930
|
+
};
|
|
3931
|
+
|
|
3792
3932
|
/**
|
|
3793
3933
|
* Hybrid HTTP fetch input, supporting different HTTP methods such as GET and POST.
|
|
3794
3934
|
* * GET method comes with a URL.
|
|
@@ -3802,6 +3942,38 @@ export declare type FetchInput<PostData = void> = {
|
|
|
3802
3942
|
method: 'POST';
|
|
3803
3943
|
} & PostObject<PostData>);
|
|
3804
3944
|
|
|
3945
|
+
/**
|
|
3946
|
+
* A Functional Road Class (FRC) identifier — classifies road segments by their importance
|
|
3947
|
+
* in the road network.
|
|
3948
|
+
*
|
|
3949
|
+
* | Value | Description |
|
|
3950
|
+
* |---|---|
|
|
3951
|
+
* | `'MOTORWAY'` | Motorways, freeways, and major roads |
|
|
3952
|
+
* | `'MAJOR_ROAD'` | Major roads, less important than motorways |
|
|
3953
|
+
* | `'OTHER_MAJOR_ROAD'` | Other major roads connecting neighbouring regions |
|
|
3954
|
+
* | `'SECONDARY_ROAD'` | Secondary roads linking parts of the same region |
|
|
3955
|
+
* | `'LOCAL_CONNECTING_ROAD'` | Local roads providing settlement access |
|
|
3956
|
+
* | `'LOCAL_ROAD_HIGH_IMPORTANCE'` | Local roads of high importance within a settlement |
|
|
3957
|
+
* | `'LOCAL_ROAD'` | Local roads within settlement sections |
|
|
3958
|
+
* | `'LOCAL_ROAD_MINOR_IMPORTANCE'` | Local roads of minor importance (dead-ends, alleys) |
|
|
3959
|
+
* | `'OTHER_ROAD'` | Other roads (paths, cycle routes, pedestrian infrastructure) |
|
|
3960
|
+
*
|
|
3961
|
+
* @group Traffic
|
|
3962
|
+
*/
|
|
3963
|
+
export declare type FunctionalRoadClass = (typeof functionalRoadClasses)[number];
|
|
3964
|
+
|
|
3965
|
+
/**
|
|
3966
|
+
* Ordered list of Functional Road Class identifiers, from highest importance (motorways) to lowest.
|
|
3967
|
+
*
|
|
3968
|
+
* @remarks
|
|
3969
|
+
* The index of each class in this array corresponds to its FRC value in the API (0 for 'MOTORWAY', 1 for 'MAJOR_ROAD', ..., 8 for 'OTHER_ROAD').
|
|
3970
|
+
*
|
|
3971
|
+
* @see https://docs.tomtom.com/traffic-stats/documentation/product-information/faq#what-are-functional-road-classes-frc
|
|
3972
|
+
*
|
|
3973
|
+
* @group Traffic
|
|
3974
|
+
*/
|
|
3975
|
+
export declare const functionalRoadClasses: readonly ["MOTORWAY", "MAJOR_ROAD", "OTHER_MAJOR_ROAD", "SECONDARY_ROAD", "LOCAL_CONNECTING_ROAD", "LOCAL_ROAD_HIGH_IMPORTANCE", "LOCAL_ROAD", "LOCAL_ROAD_MINOR_IMPORTANCE", "OTHER_ROAD"];
|
|
3976
|
+
|
|
3805
3977
|
/**
|
|
3806
3978
|
* Additional properties for fuzzy search feature collection.
|
|
3807
3979
|
*
|
|
@@ -4099,8 +4271,24 @@ export declare type GenericVehicleState = {
|
|
|
4099
4271
|
export declare const geocode: (params: GeocodingParams, customTemplate?: Partial<GeocodingTemplate>) => Promise<GeocodingResponse>;
|
|
4100
4272
|
|
|
4101
4273
|
/**
|
|
4274
|
+
* Geocode a query and return the single best-matching place.
|
|
4275
|
+
*
|
|
4276
|
+
* Convenience wrapper around {@link geocode} that returns the top result directly.
|
|
4277
|
+
*
|
|
4278
|
+
* @param query - Address or place name to geocode
|
|
4279
|
+
* @returns Promise resolving to the best-matching place
|
|
4280
|
+
* @throws {Error} If no results are found for the query
|
|
4281
|
+
*
|
|
4282
|
+
* @remarks
|
|
4283
|
+
* Use {@link geocode} with a `limit` parameter when you need to handle the case
|
|
4284
|
+
* where no results are found without throwing.
|
|
4285
|
+
*
|
|
4286
|
+
* @example
|
|
4287
|
+
* ```typescript
|
|
4288
|
+
* const place = await geocodeOne('Amsterdam Centraal');
|
|
4289
|
+
* console.log(place.geometry.coordinates); // [lng, lat]
|
|
4290
|
+
* ```
|
|
4102
4291
|
*
|
|
4103
|
-
* @param query
|
|
4104
4292
|
* @group Geocoding
|
|
4105
4293
|
*/
|
|
4106
4294
|
export declare const geocodeOne: (query: string) => Promise<Place<GeocodingProps>>;
|
|
@@ -4144,6 +4332,29 @@ declare type GeocodingIndexTypesAbbreviation = Exclude<SearchIndexType, 'POI'>;
|
|
|
4144
4332
|
* @group Geocoding
|
|
4145
4333
|
*/
|
|
4146
4334
|
export declare type GeocodingParams = Omit<CommonPlacesParams<URL, GeocodingResponseAPI> & CommonGeocodeAndFuzzySearchParams, 'extendedPostalCodesFor'> & {
|
|
4335
|
+
/**
|
|
4336
|
+
* Address or location query to geocode.
|
|
4337
|
+
*
|
|
4338
|
+
* The text to convert into geographic coordinates — typically a street address,
|
|
4339
|
+
* intersection, city name, or landmark. The service is tolerant of typos and
|
|
4340
|
+
* incomplete inputs.
|
|
4341
|
+
*
|
|
4342
|
+
* @remarks
|
|
4343
|
+
* **Query Examples:**
|
|
4344
|
+
* - Full street address: "1600 Pennsylvania Avenue NW, Washington, DC"
|
|
4345
|
+
* - City name: "Amsterdam"
|
|
4346
|
+
* - Intersection: "Broadway & 42nd St, New York"
|
|
4347
|
+
* - Landmark: "Eiffel Tower, Paris"
|
|
4348
|
+
* - Partial address: "Dam Square" (city context resolved via `position` or `countries`)
|
|
4349
|
+
*
|
|
4350
|
+
* @example
|
|
4351
|
+
* ```typescript
|
|
4352
|
+
* query: '1600 Pennsylvania Avenue NW, Washington, DC'
|
|
4353
|
+
* query: 'Museumplein, Amsterdam'
|
|
4354
|
+
* query: 'Buckingham Palace, London'
|
|
4355
|
+
* ```
|
|
4356
|
+
*/
|
|
4357
|
+
query: string;
|
|
4147
4358
|
/**
|
|
4148
4359
|
* Indexes for which extended postal codes should be included in the results.
|
|
4149
4360
|
*
|
|
@@ -4505,7 +4716,6 @@ export declare type GeometryPlaceParams = CommonServiceParamsWithZoom & {
|
|
|
4505
4716
|
* ```typescript
|
|
4506
4717
|
* // Search within a polygon (neighborhood boundaries)
|
|
4507
4718
|
* const inArea = await geometrySearch({
|
|
4508
|
-
* key: 'your-api-key',
|
|
4509
4719
|
* query: 'coffee shop',
|
|
4510
4720
|
* geometries: [{
|
|
4511
4721
|
* type: 'Polygon',
|
|
@@ -4519,20 +4729,15 @@ export declare type GeometryPlaceParams = CommonServiceParamsWithZoom & {
|
|
|
4519
4729
|
* }]
|
|
4520
4730
|
* });
|
|
4521
4731
|
*
|
|
4522
|
-
* // Find POIs along a route
|
|
4732
|
+
* // Find POIs along a route (pass the route LineString as geometry)
|
|
4523
4733
|
* const alongRoute = await geometrySearch({
|
|
4524
|
-
* key: 'your-api-key',
|
|
4525
4734
|
* query: 'gas station',
|
|
4526
|
-
* geometries: [routeLineString], //
|
|
4527
|
-
*
|
|
4528
|
-
* position: 0,
|
|
4529
|
-
* radius: 5000 // 5km corridor along route
|
|
4530
|
-
* }]
|
|
4735
|
+
* geometries: [routeLineString], // LineString from calculateRoute result
|
|
4736
|
+
* limit: 10
|
|
4531
4737
|
* });
|
|
4532
4738
|
*
|
|
4533
4739
|
* // Search multiple areas at once
|
|
4534
4740
|
* const multiArea = await geometrySearch({
|
|
4535
|
-
* key: 'your-api-key',
|
|
4536
4741
|
* query: 'pharmacy',
|
|
4537
4742
|
* geometries: [polygonA, polygonB, polygonC],
|
|
4538
4743
|
* limit: 20
|
|
@@ -4540,8 +4745,7 @@ export declare type GeometryPlaceParams = CommonServiceParamsWithZoom & {
|
|
|
4540
4745
|
*
|
|
4541
4746
|
* // Category search within geometry
|
|
4542
4747
|
* const restaurants = await geometrySearch({
|
|
4543
|
-
*
|
|
4544
|
-
* categorySet: [7315], // Restaurant category
|
|
4748
|
+
* poiCategories: ['ITALIAN_RESTAURANT'],
|
|
4545
4749
|
* geometries: [cityBoundary]
|
|
4546
4750
|
* });
|
|
4547
4751
|
* ```
|
|
@@ -4818,6 +5022,60 @@ export declare function getPlacesWithEVAvailability<P extends CommonPlaceProps =
|
|
|
4818
5022
|
*/
|
|
4819
5023
|
export declare const getPlaceWithEVAvailability: <P extends CommonPlaceProps = CommonPlaceProps>(place: Place<P>) => Promise<Place<EVChargingStationWithAvailabilityPlaceProps> | undefined>;
|
|
4820
5024
|
|
|
5025
|
+
/**
|
|
5026
|
+
* Retrieve the list of POI category types supported by the TomTom Search API.
|
|
5027
|
+
*
|
|
5028
|
+
* The returned `code` values (`POICategory`) serve two purposes:
|
|
5029
|
+
* - Pass to `search({ poiCategories })` to filter search results by category.
|
|
5030
|
+
* - Pass to `POIsModule.filterCategories()` to filter the map's built-in POI icons.
|
|
5031
|
+
* Generic parent codes (e.g. `'RESTAURANT'`) are supported there; overly specific child
|
|
5032
|
+
* codes (e.g. `'ITALIAN_RESTAURANT'`) are not — use a parent or a `POICategoryGroup` instead.
|
|
5033
|
+
*
|
|
5034
|
+
* Results are cached in memory per language. The first call fetches from the API;
|
|
5035
|
+
* all subsequent calls — including filtered ones — are served from the cache.
|
|
5036
|
+
*
|
|
5037
|
+
* @param params - Optional parameters. Uses global `TomTomConfig` by default.
|
|
5038
|
+
*
|
|
5039
|
+
* @example
|
|
5040
|
+
* ```typescript
|
|
5041
|
+
* // All categories
|
|
5042
|
+
* const { poiCategories: all } = await getPOICategories();
|
|
5043
|
+
*
|
|
5044
|
+
* // Filtered by keyword, merged and deduplicated
|
|
5045
|
+
* const { poiCategories: gyms } = await getPOICategories({ filters: ['gym'] });
|
|
5046
|
+
* gyms.forEach(c => console.log(c.code, c.name, c.childCategoryCodes));
|
|
5047
|
+
* ```
|
|
5048
|
+
*
|
|
5049
|
+
* @group POI Categories
|
|
5050
|
+
*/
|
|
5051
|
+
export declare const getPOICategories: (params?: POICategoriesParams) => Promise<POICategoriesResponse>;
|
|
5052
|
+
|
|
5053
|
+
/**
|
|
5054
|
+
* Convenience wrapper around {@link getPOICategories} that returns a flat array of `POICategory` codes.
|
|
5055
|
+
*
|
|
5056
|
+
* The returned codes serve two purposes:
|
|
5057
|
+
* - Pass to `search({ poiCategories })` to filter search results by category.
|
|
5058
|
+
* - Pass to `POIsModule.filterCategories()` to filter the map's built-in POI icons.
|
|
5059
|
+
* Generic parent codes (e.g. `'RESTAURANT'`) are supported there; overly specific child
|
|
5060
|
+
* codes (e.g. `'ITALIAN_RESTAURANT'`) are not — use a parent or a `POICategoryGroup` instead.
|
|
5061
|
+
*
|
|
5062
|
+
* Accepts the same parameters as {@link getPOICategories} — use `filters` to narrow by keyword.
|
|
5063
|
+
*
|
|
5064
|
+
* @param params - Optional parameters. Uses global `TomTomConfig` by default.
|
|
5065
|
+
*
|
|
5066
|
+
* @example
|
|
5067
|
+
* ```typescript
|
|
5068
|
+
* // All category codes
|
|
5069
|
+
* const codes = await getPOICategoryCodes();
|
|
5070
|
+
*
|
|
5071
|
+
* // Codes matching 'restaurant' — for search or generic map POI filtering
|
|
5072
|
+
* const restaurantCodes = await getPOICategoryCodes({ filters: ['restaurant'] });
|
|
5073
|
+
* ```
|
|
5074
|
+
*
|
|
5075
|
+
* @group POI Categories
|
|
5076
|
+
*/
|
|
5077
|
+
export declare const getPOICategoryCodes: (params?: POICategoriesParams) => Promise<POICategory_2[]>;
|
|
5078
|
+
|
|
4821
5079
|
/**
|
|
4822
5080
|
* @ignore
|
|
4823
5081
|
*/
|
|
@@ -5103,6 +5361,18 @@ declare const loadTypes: readonly ["USHazmatClass1", "USHazmatClass2", "USHazmat
|
|
|
5103
5361
|
*/
|
|
5104
5362
|
export declare type MaxNumberOfAlternatives = 0 | 1 | 2 | 3 | 4 | 5;
|
|
5105
5363
|
|
|
5364
|
+
/**
|
|
5365
|
+
* @ignore
|
|
5366
|
+
* Abbreviated metric fields as returned by the Area Analytics API.
|
|
5367
|
+
*/
|
|
5368
|
+
declare type MetricsAPI = {
|
|
5369
|
+
v?: number;
|
|
5370
|
+
fv?: number;
|
|
5371
|
+
c?: number;
|
|
5372
|
+
t?: number;
|
|
5373
|
+
l?: number;
|
|
5374
|
+
};
|
|
5375
|
+
|
|
5106
5376
|
/**
|
|
5107
5377
|
* @ignore
|
|
5108
5378
|
*/
|
|
@@ -5286,6 +5556,12 @@ export declare type ParseResponseError<T = DefaultAPIResponseErrorBody> = (apiEr
|
|
|
5286
5556
|
*/
|
|
5287
5557
|
declare const parseRevGeoResponse: (apiResponse: ReverseGeocodingResponseAPI, params: ReverseGeocodingParams) => ReverseGeocodingResponse;
|
|
5288
5558
|
|
|
5559
|
+
/**
|
|
5560
|
+
* Default method for parsing a Traffic Area Analytics API response.
|
|
5561
|
+
* @param apiResponse The raw Area Analytics API response.
|
|
5562
|
+
*/
|
|
5563
|
+
declare const parseTrafficAreaAnalyticsResponse: (apiResponse: AreaAnalyticsResponseAPI) => TrafficAreaAnalytics;
|
|
5564
|
+
|
|
5289
5565
|
/**
|
|
5290
5566
|
* Default method for parsing a traffic incident details API response.
|
|
5291
5567
|
* @param apiResponse The raw Traffic Incident Details API response.
|
|
@@ -5567,10 +5843,106 @@ declare type POIAPI = {
|
|
|
5567
5843
|
categorySet?: CategoryAPI[];
|
|
5568
5844
|
categories?: string[];
|
|
5569
5845
|
openingHours?: OpeningHoursAPI;
|
|
5570
|
-
classifications?: Classification[];
|
|
5571
5846
|
timeZone?: TimeZone;
|
|
5572
5847
|
};
|
|
5573
5848
|
|
|
5849
|
+
/**
|
|
5850
|
+
* Parameters for the POI categories service.
|
|
5851
|
+
*
|
|
5852
|
+
* Results are cached in memory per language — the first call for a given language
|
|
5853
|
+
* fetches from the API; subsequent calls are served from the cache.
|
|
5854
|
+
*
|
|
5855
|
+
* @group POI Categories
|
|
5856
|
+
*/
|
|
5857
|
+
export declare type POICategoriesParams = CommonServiceParams<URL, PoiCategoriesResponseAPI> & {
|
|
5858
|
+
/**
|
|
5859
|
+
* One or more filter strings applied client-side against the text index.
|
|
5860
|
+
*
|
|
5861
|
+
* Each filter string is normalized (lowercased, spaces removed) and matched against
|
|
5862
|
+
* the normalized form of every `name` and synonym. A category matches when any of its
|
|
5863
|
+
* normalized texts contains the normalized filter as a substring.
|
|
5864
|
+
*
|
|
5865
|
+
* For example, `'gym'` matches a category whose name or synonym normalizes to `'gym'`
|
|
5866
|
+
* or `'fitnessandgym'`. `'italian restaurant'` normalizes to `'italianrestaurant'` and
|
|
5867
|
+
* matches `'Italian Restaurant'` but not `'Mexican Restaurant'`.
|
|
5868
|
+
*
|
|
5869
|
+
* Results from all filter strings are merged and deduplicated by `code`.
|
|
5870
|
+
* Omit to return all categories.
|
|
5871
|
+
*
|
|
5872
|
+
* @example
|
|
5873
|
+
* ```ts
|
|
5874
|
+
* // All categories (no filters)
|
|
5875
|
+
* {}
|
|
5876
|
+
*
|
|
5877
|
+
* // Categories matching "gym"
|
|
5878
|
+
* { filters: ['gym'] }
|
|
5879
|
+
*
|
|
5880
|
+
* // Categories matching either "gym" or "italian restaurant"
|
|
5881
|
+
* { filters: ['gym', 'italian restaurant'] }
|
|
5882
|
+
* ```
|
|
5883
|
+
*/
|
|
5884
|
+
filters?: string[];
|
|
5885
|
+
};
|
|
5886
|
+
|
|
5887
|
+
/**
|
|
5888
|
+
* Response from the POI categories service.
|
|
5889
|
+
*
|
|
5890
|
+
* @group POI Categories
|
|
5891
|
+
*/
|
|
5892
|
+
export declare type POICategoriesResponse = {
|
|
5893
|
+
poiCategories: POICategoryResult[];
|
|
5894
|
+
};
|
|
5895
|
+
|
|
5896
|
+
/**
|
|
5897
|
+
* @ignore
|
|
5898
|
+
*/
|
|
5899
|
+
export declare type PoiCategoriesResponseAPI = {
|
|
5900
|
+
poiCategories: PoiCategoryAPI[];
|
|
5901
|
+
};
|
|
5902
|
+
|
|
5903
|
+
/**
|
|
5904
|
+
* @ignore
|
|
5905
|
+
*/
|
|
5906
|
+
export declare type PoiCategoryAPI = {
|
|
5907
|
+
id: number;
|
|
5908
|
+
name: string;
|
|
5909
|
+
childCategoryIds: number[];
|
|
5910
|
+
synonyms: string[];
|
|
5911
|
+
};
|
|
5912
|
+
|
|
5913
|
+
/**
|
|
5914
|
+
* A single POI category entry returned by the POI categories service.
|
|
5915
|
+
*
|
|
5916
|
+
* @group POI Categories
|
|
5917
|
+
*/
|
|
5918
|
+
export declare type POICategoryResult = {
|
|
5919
|
+
/**
|
|
5920
|
+
* The standardized enum value identifying this category.
|
|
5921
|
+
*
|
|
5922
|
+
* Use this value in search `poiCategories` parameters to filter results by category,
|
|
5923
|
+
* or to cross-reference with `Place.properties.poi.categories` on search results.
|
|
5924
|
+
*/
|
|
5925
|
+
code: POICategory;
|
|
5926
|
+
/**
|
|
5927
|
+
* Codes of sub-categories that also matched the current filter result set.
|
|
5928
|
+
*
|
|
5929
|
+
* Only contains codes present in the filtered result set — not the full list of
|
|
5930
|
+
* possible sub-categories — so you can understand the category hierarchy without
|
|
5931
|
+
* additional lookups.
|
|
5932
|
+
*
|
|
5933
|
+
* Use these values directly in search `poiCategories` parameters.
|
|
5934
|
+
*/
|
|
5935
|
+
childCategoryCodes: POICategory[];
|
|
5936
|
+
/**
|
|
5937
|
+
* Human-readable category name in the requested language.
|
|
5938
|
+
*/
|
|
5939
|
+
name: string;
|
|
5940
|
+
/**
|
|
5941
|
+
* Alternative names and synonyms for this category in the requested language.
|
|
5942
|
+
*/
|
|
5943
|
+
synonyms: string[];
|
|
5944
|
+
};
|
|
5945
|
+
|
|
5574
5946
|
/**
|
|
5575
5947
|
* @ignore
|
|
5576
5948
|
*/
|
|
@@ -6494,15 +6866,13 @@ export declare class SDKServiceError extends SDKError {
|
|
|
6494
6866
|
* ```typescript
|
|
6495
6867
|
* // Free-text search near a location
|
|
6496
6868
|
* const results = await search({
|
|
6497
|
-
* key: 'your-api-key',
|
|
6498
6869
|
* query: 'pizza restaurant',
|
|
6499
|
-
*
|
|
6870
|
+
* position: [4.9041, 52.3676], // Amsterdam
|
|
6500
6871
|
* limit: 10
|
|
6501
6872
|
* });
|
|
6502
6873
|
*
|
|
6503
6874
|
* // Search within a specific area
|
|
6504
6875
|
* const areaResults = await search({
|
|
6505
|
-
* key: 'your-api-key',
|
|
6506
6876
|
* query: 'coffee shop',
|
|
6507
6877
|
* geometries: [polygon], // Search within this polygon
|
|
6508
6878
|
* limit: 20
|
|
@@ -6510,11 +6880,9 @@ export declare class SDKServiceError extends SDKError {
|
|
|
6510
6880
|
*
|
|
6511
6881
|
* // Category search
|
|
6512
6882
|
* const restaurants = await search({
|
|
6513
|
-
*
|
|
6514
|
-
*
|
|
6515
|
-
*
|
|
6516
|
-
* at: [4.9041, 52.3676],
|
|
6517
|
-
* radius: 5000 // Within 5km
|
|
6883
|
+
* poiCategories: ['ITALIAN_RESTAURANT'],
|
|
6884
|
+
* position: [4.9041, 52.3676],
|
|
6885
|
+
* radiusMeters: 5000 // Within 5km
|
|
6518
6886
|
* });
|
|
6519
6887
|
* ```
|
|
6520
6888
|
*
|
|
@@ -6972,6 +7340,26 @@ declare type SummaryAPI_2 = Omit<RouteSummary & LegSummary, 'arrivalTime' | 'dep
|
|
|
6972
7340
|
*/
|
|
6973
7341
|
declare type SummaryQueryType = 'NEARBY' | 'NON_NEAR';
|
|
6974
7342
|
|
|
7343
|
+
/**
|
|
7344
|
+
* @ignore
|
|
7345
|
+
*/
|
|
7346
|
+
declare type TiledEntryAPI = MetricsAPI & {
|
|
7347
|
+
lat: number;
|
|
7348
|
+
lon: number;
|
|
7349
|
+
};
|
|
7350
|
+
|
|
7351
|
+
/**
|
|
7352
|
+
* @ignore
|
|
7353
|
+
*/
|
|
7354
|
+
declare type TimedEntryAPI = MetricsAPI & {
|
|
7355
|
+
date?: string;
|
|
7356
|
+
year?: number;
|
|
7357
|
+
month?: number;
|
|
7358
|
+
week?: number;
|
|
7359
|
+
hour?: number;
|
|
7360
|
+
day?: number;
|
|
7361
|
+
};
|
|
7362
|
+
|
|
6975
7363
|
/**
|
|
6976
7364
|
* @ignore
|
|
6977
7365
|
*/
|
|
@@ -7007,6 +7395,231 @@ declare type TimeRangeAPI = {
|
|
|
7007
7395
|
*/
|
|
7008
7396
|
export declare type TimeZoneRequest = 'iana';
|
|
7009
7397
|
|
|
7398
|
+
/**
|
|
7399
|
+
* Run a synchronous traffic area analytics report for a polygon region.
|
|
7400
|
+
*
|
|
7401
|
+
* Submits a single Polygon region with a date range and requested metrics, and
|
|
7402
|
+
* receives the full analysis result immediately (no polling required).
|
|
7403
|
+
*
|
|
7404
|
+
* @remarks
|
|
7405
|
+
* **Lite report constraints:**
|
|
7406
|
+
* - Only a single region (Polygon Feature) may be submitted per request.
|
|
7407
|
+
* - The date range (`startDate` → `endDate`) must not exceed 31 days.
|
|
7408
|
+
*
|
|
7409
|
+
* **Key data returned per region:**
|
|
7410
|
+
* - `baseData`: overall aggregated metrics for the full analysis period
|
|
7411
|
+
* - `timedData`: time-series breakdown at yearly / monthly / weekly / daily / hourly granularity
|
|
7412
|
+
* - `tiledData`: per-tile heatmap metrics (when available)
|
|
7413
|
+
* - `anomalies`: detected traffic anomalies keyed by data type
|
|
7414
|
+
*
|
|
7415
|
+
* **Available metrics (`dataTypes`):**
|
|
7416
|
+
* - `SPEED` — average speed on the road network (km/h)
|
|
7417
|
+
* - `FREE_FLOW_SPEED` — average speed under uncongested conditions (km/h)
|
|
7418
|
+
* - `CONGESTION_LEVEL` — percentage increase in travel time above free-flow
|
|
7419
|
+
* - `TRAVEL_TIME` — average travel time per 10 km (minutes)
|
|
7420
|
+
* - `NETWORK_LENGTH` — total length of road segments with data (meters)
|
|
7421
|
+
*
|
|
7422
|
+
* @param params - Traffic Area Analytics parameters
|
|
7423
|
+
* @param customTemplate - Advanced customization for request/response handling
|
|
7424
|
+
*
|
|
7425
|
+
* @returns Promise resolving to a {@link TrafficAreaAnalytics} FeatureCollection
|
|
7426
|
+
*
|
|
7427
|
+
* @example
|
|
7428
|
+
* ```typescript
|
|
7429
|
+
* // Basic speed and congestion analysis for Amsterdam
|
|
7430
|
+
* const result = await trafficAreaAnalytics({
|
|
7431
|
+
* startDate: new Date('2024-08-06'),
|
|
7432
|
+
* endDate: new Date('2024-08-06'),
|
|
7433
|
+
* functionalRoadClasses: ['MOTORWAY', 'MAJOR_ROAD', 'OTHER_MAJOR_ROAD', 'SECONDARY_ROAD', 'LOCAL_CONNECTING_ROAD', 'LOCAL_ROAD_HIGH_IMPORTANCE'],
|
|
7434
|
+
* hours: [7, 8, 9, 17, 18],
|
|
7435
|
+
* dataTypes: ['SPEED', 'CONGESTION_LEVEL'],
|
|
7436
|
+
* geometry: {
|
|
7437
|
+
* type: 'Polygon',
|
|
7438
|
+
* coordinates: [
|
|
7439
|
+
* [[4.896128, 52.382402], [4.875701, 52.368459], [4.923611, 52.36341], [4.896128, 52.382402]]
|
|
7440
|
+
* ]
|
|
7441
|
+
* }
|
|
7442
|
+
* });
|
|
7443
|
+
*
|
|
7444
|
+
* const region = result.features[0];
|
|
7445
|
+
* console.log(region.properties.baseData.speed); // avg speed (km/h)
|
|
7446
|
+
* console.log(region.properties.baseData.congestionLevel); // congestion %
|
|
7447
|
+
* console.log(region.properties.timedData.hourly); // hourly breakdown
|
|
7448
|
+
* ```
|
|
7449
|
+
*
|
|
7450
|
+
* @example
|
|
7451
|
+
* ```typescript
|
|
7452
|
+
* // Full metrics over a multi-day period
|
|
7453
|
+
* const result = await trafficAreaAnalytics({
|
|
7454
|
+
* startDate: new Date('2024-08-01'),
|
|
7455
|
+
* endDate: new Date('2024-08-07'),
|
|
7456
|
+
* functionalRoadClasses: 'all',
|
|
7457
|
+
* hours: 'all',
|
|
7458
|
+
* dataTypes: ['SPEED', 'FREE_FLOW_SPEED', 'CONGESTION_LEVEL', 'TRAVEL_TIME', 'NETWORK_LENGTH'],
|
|
7459
|
+
* geometry: {
|
|
7460
|
+
* type: 'Polygon',
|
|
7461
|
+
* coordinates: [[[4.89, 52.37], [4.91, 52.37], [4.91, 52.39], [4.89, 52.39], [4.89, 52.37]]]
|
|
7462
|
+
* }
|
|
7463
|
+
* });
|
|
7464
|
+
*
|
|
7465
|
+
* result.features[0].properties.timedData.daily?.forEach(day => {
|
|
7466
|
+
* console.log(day.date, day.congestionLevel);
|
|
7467
|
+
* });
|
|
7468
|
+
* ```
|
|
7469
|
+
*
|
|
7470
|
+
* @see [Area Analytics API Documentation](https://developer.tomtom.com/area-analytics/documentation/api/analysis-lite)
|
|
7471
|
+
*
|
|
7472
|
+
* @group Traffic
|
|
7473
|
+
*/
|
|
7474
|
+
export declare const trafficAreaAnalytics: (params: TrafficAreaAnalyticsParams, customTemplate?: Partial<TrafficAreaAnalyticsTemplate>) => Promise<TrafficAreaAnalytics>;
|
|
7475
|
+
|
|
7476
|
+
/**
|
|
7477
|
+
* @ignore
|
|
7478
|
+
*/
|
|
7479
|
+
declare type TrafficAreaAnalyticsBaseParams = {
|
|
7480
|
+
/**
|
|
7481
|
+
* Optional name for the analysis report.
|
|
7482
|
+
*/
|
|
7483
|
+
name?: string;
|
|
7484
|
+
/**
|
|
7485
|
+
* Traffic metrics to include in the analysis.
|
|
7486
|
+
*
|
|
7487
|
+
* @remarks
|
|
7488
|
+
* At least one data type must be provided.
|
|
7489
|
+
*
|
|
7490
|
+
* @example ['SPEED', 'CONGESTION_LEVEL', 'FREE_FLOW_SPEED']
|
|
7491
|
+
*/
|
|
7492
|
+
dataTypes: AreaAnalyticsDataType[];
|
|
7493
|
+
/**
|
|
7494
|
+
* Functional road classes to include in the analysis, or `'all'` to include every class.
|
|
7495
|
+
*
|
|
7496
|
+
* @remarks
|
|
7497
|
+
* At least one value must be provided, or pass `'all'` as a shorthand for all nine classes.
|
|
7498
|
+
*
|
|
7499
|
+
* @example ['MOTORWAY', 'MAJOR_ROAD', 'OTHER_MAJOR_ROAD']
|
|
7500
|
+
* @example 'all'
|
|
7501
|
+
*/
|
|
7502
|
+
functionalRoadClasses: FunctionalRoadClass[] | 'all';
|
|
7503
|
+
/**
|
|
7504
|
+
* Hours of the day to include in the analysis (0–23), or `'all'` to include every hour.
|
|
7505
|
+
*
|
|
7506
|
+
* @remarks
|
|
7507
|
+
* Provide at least one hour, or pass `'all'` as a shorthand for `[0, 1, 2, ..., 23]`.
|
|
7508
|
+
*
|
|
7509
|
+
* @example [7, 8, 9, 17, 18]
|
|
7510
|
+
* @example 'all'
|
|
7511
|
+
*/
|
|
7512
|
+
hours: number[] | 'all';
|
|
7513
|
+
/**
|
|
7514
|
+
* The GeoJSON Polygon or MultiPolygon geometry defining the analysis region.
|
|
7515
|
+
*
|
|
7516
|
+
* @remarks
|
|
7517
|
+
* The lite endpoint accepts exactly one region. For multi-region analysis,
|
|
7518
|
+
* use the standard (async) report creation endpoint.
|
|
7519
|
+
*/
|
|
7520
|
+
geometry: Polygon | MultiPolygon;
|
|
7521
|
+
};
|
|
7522
|
+
|
|
7523
|
+
/**
|
|
7524
|
+
* Continuous date-range variant: analyse traffic between `startDate` and `endDate`.
|
|
7525
|
+
*
|
|
7526
|
+
* - `endDate` is optional; when omitted it defaults to **today**.
|
|
7527
|
+
* - The range must not exceed **31 days**.
|
|
7528
|
+
* - Mutually exclusive with {@link TrafficAreaAnalyticsDays}.
|
|
7529
|
+
*
|
|
7530
|
+
* @group Traffic
|
|
7531
|
+
*/
|
|
7532
|
+
export declare type TrafficAreaAnalyticsDateRange = {
|
|
7533
|
+
/**
|
|
7534
|
+
* Start date of the analysis period.
|
|
7535
|
+
* Accepts a `Date` object or an ISO `'YYYY-MM-DD'` string.
|
|
7536
|
+
*
|
|
7537
|
+
* @example '2024-08-01'
|
|
7538
|
+
* @example new Date('2024-08-01')
|
|
7539
|
+
*/
|
|
7540
|
+
startDate: AreaAnalyticsDateInput;
|
|
7541
|
+
/**
|
|
7542
|
+
* End date of the analysis period (inclusive).
|
|
7543
|
+
* Accepts a `Date` object or an ISO `'YYYY-MM-DD'` string.
|
|
7544
|
+
* When omitted, defaults to **today**.
|
|
7545
|
+
*
|
|
7546
|
+
* @remarks Must be within 31 days from `startDate`.
|
|
7547
|
+
*
|
|
7548
|
+
* @example '2024-08-07'
|
|
7549
|
+
* @example new Date('2024-08-07')
|
|
7550
|
+
*/
|
|
7551
|
+
endDate?: AreaAnalyticsDateInput;
|
|
7552
|
+
days?: never;
|
|
7553
|
+
};
|
|
7554
|
+
|
|
7555
|
+
/**
|
|
7556
|
+
* Specific-dates variant: analyse traffic on an explicit list of dates.
|
|
7557
|
+
*
|
|
7558
|
+
* Useful for non-consecutive dates such as "all Mondays in August".
|
|
7559
|
+
* Mutually exclusive with {@link TrafficAreaAnalyticsDateRange}.
|
|
7560
|
+
*
|
|
7561
|
+
* @group Traffic
|
|
7562
|
+
*/
|
|
7563
|
+
export declare type TrafficAreaAnalyticsDays = {
|
|
7564
|
+
/**
|
|
7565
|
+
* List of specific dates to include in the analysis.
|
|
7566
|
+
* Accepts `Date` objects or ISO `'YYYY-MM-DD'` strings.
|
|
7567
|
+
*
|
|
7568
|
+
* @example ['2024-08-05', '2024-08-12', '2024-08-19', '2024-08-26']
|
|
7569
|
+
*/
|
|
7570
|
+
days: AreaAnalyticsDateInput[];
|
|
7571
|
+
startDate?: never;
|
|
7572
|
+
endDate?: never;
|
|
7573
|
+
};
|
|
7574
|
+
|
|
7575
|
+
/**
|
|
7576
|
+
* Parameters for the Traffic Area Analytics Lite service.
|
|
7577
|
+
*
|
|
7578
|
+
* @remarks
|
|
7579
|
+
* Supply **either** `startDate` (+ optional `endDate`) **or** `days` — these
|
|
7580
|
+
* two options are mutually exclusive.
|
|
7581
|
+
*
|
|
7582
|
+
* The lite endpoint runs analysis synchronously and returns results immediately,
|
|
7583
|
+
* with the constraint that the date range must not exceed 31 days and only a
|
|
7584
|
+
* single region may be submitted.
|
|
7585
|
+
*
|
|
7586
|
+
* @example
|
|
7587
|
+
* ```typescript
|
|
7588
|
+
* // Continuous range — endDate defaults to today when omitted
|
|
7589
|
+
* const result = await trafficAreaAnalytics({
|
|
7590
|
+
* startDate: '2024-08-01',
|
|
7591
|
+
* functionalRoadClasses: ['MOTORWAY', 'MAJOR_ROAD', 'OTHER_MAJOR_ROAD', 'SECONDARY_ROAD', 'LOCAL_CONNECTING_ROAD', 'LOCAL_ROAD_HIGH_IMPORTANCE'],
|
|
7592
|
+
* hours: [7, 8, 9, 17, 18],
|
|
7593
|
+
* dataTypes: ['SPEED', 'CONGESTION_LEVEL'],
|
|
7594
|
+
* geometry: {
|
|
7595
|
+
* type: 'Polygon',
|
|
7596
|
+
* coordinates: [[[4.896128, 52.382402], [4.875701, 52.368459], [4.923611, 52.36341], [4.896128, 52.382402]]]
|
|
7597
|
+
* }
|
|
7598
|
+
* });
|
|
7599
|
+
* ```
|
|
7600
|
+
*
|
|
7601
|
+
* @example
|
|
7602
|
+
* ```typescript
|
|
7603
|
+
* // Specific dates
|
|
7604
|
+
* const result = await trafficAreaAnalytics({
|
|
7605
|
+
* days: ['2024-08-05', '2024-08-12', '2024-08-19', '2024-08-26'],
|
|
7606
|
+
* functionalRoadClasses: ['MOTORWAY', 'MAJOR_ROAD', 'OTHER_MAJOR_ROAD'],
|
|
7607
|
+
* hours: [8, 9, 17, 18],
|
|
7608
|
+
* dataTypes: ['SPEED'],
|
|
7609
|
+
* geometry: polygon
|
|
7610
|
+
* });
|
|
7611
|
+
* ```
|
|
7612
|
+
*
|
|
7613
|
+
* @group Traffic
|
|
7614
|
+
*/
|
|
7615
|
+
export declare type TrafficAreaAnalyticsParams = CommonServiceParams & TrafficAreaAnalyticsBaseParams & (TrafficAreaAnalyticsDateRange | TrafficAreaAnalyticsDays);
|
|
7616
|
+
|
|
7617
|
+
/**
|
|
7618
|
+
* Traffic Area Analytics service template type.
|
|
7619
|
+
* @ignore
|
|
7620
|
+
*/
|
|
7621
|
+
declare type TrafficAreaAnalyticsTemplate = ServiceTemplate<TrafficAreaAnalyticsParams, FetchInput<AreaAnalyticsRequestBody>, AreaAnalyticsResponseAPI, TrafficAreaAnalytics>;
|
|
7622
|
+
|
|
7010
7623
|
/**
|
|
7011
7624
|
* @ignore
|
|
7012
7625
|
*/
|