11import mbxClient from "@mapbox/mapbox-sdk" ;
2- import { SdkConfig } from "@mapbox/mapbox-sdk/lib/classes/mapi-client" ;
2+ import MapiClient , { SdkConfig } from "@mapbox/mapbox-sdk/lib/classes/mapi-client" ;
33import { MapiRequest } from "@mapbox/mapbox-sdk/lib/classes/mapi-request" ;
44import { MapiResponse } from "@mapbox/mapbox-sdk/lib/classes/mapi-response" ;
55import Directions , { DirectionsService } from "@mapbox/mapbox-sdk/services/directions" ;
@@ -10,6 +10,12 @@ import MapMatching, { MapMatchingResponse, MapMatchingService } from "@mapbox/ma
1010import Optimization , { OptimizationService } from "@mapbox/mapbox-sdk/services/optimization" ;
1111import StaticMap , { StaticMapService } from "@mapbox/mapbox-sdk/services/static" ;
1212import Styles , { StylesService } from "@mapbox/mapbox-sdk/services/styles" ;
13+ import TileQuery , {
14+ GeometryType ,
15+ TileQueryRequest ,
16+ TileQueryResponseProperty ,
17+ TileQueryService ,
18+ } from "@mapbox/mapbox-sdk/services/tilequery" ;
1319import { LineString } from "geojson" ;
1420
1521const config : SdkConfig = {
@@ -332,3 +338,76 @@ optimizationService.getOptimization({
332338 roundtrip : true ,
333339 steps : true ,
334340} ) ;
341+
342+ {
343+ let tileQueryService : TileQueryService ;
344+ tileQueryService = TileQuery ( { accessToken : "" } satisfies SdkConfig ) ;
345+ tileQueryService = TileQuery ( new MapiClient ( { accessToken : "" } ) ) ;
346+
347+ // Required request params
348+ let mapiRequest = tileQueryService . listFeatures (
349+ {
350+ mapIds : [ "id" ] ,
351+ coordinates : [ 2 , 3 ] ,
352+ } satisfies TileQueryRequest ,
353+ ) ;
354+
355+ // Optional request params
356+ mapiRequest = tileQueryService . listFeatures (
357+ {
358+ mapIds : [ "id" ] ,
359+ coordinates : [ 2 , 3 ] ,
360+ radius : 0 ,
361+ limit : 5 ,
362+ dedupe : true ,
363+ bands : "band1,band2" ,
364+ layers : "layer1,layer2" ,
365+ } satisfies TileQueryRequest ,
366+ ) ;
367+
368+ // Optional Geometry params
369+ mapiRequest = tileQueryService . listFeatures (
370+ {
371+ mapIds : [ "id" ] ,
372+ coordinates : [ 2 , 3 ] ,
373+ geometry : "linestring" satisfies GeometryType ,
374+ } satisfies TileQueryRequest ,
375+ ) ;
376+ mapiRequest = tileQueryService . listFeatures (
377+ {
378+ mapIds : [ "id" ] ,
379+ coordinates : [ 2 , 3 ] ,
380+ geometry : "point" satisfies GeometryType ,
381+ } satisfies TileQueryRequest ,
382+ ) ;
383+ mapiRequest = tileQueryService . listFeatures (
384+ {
385+ mapIds : [ "id" ] ,
386+ coordinates : [ 2 , 3 ] ,
387+ geometry : "polygon" satisfies GeometryType ,
388+ } satisfies TileQueryRequest ,
389+ ) ;
390+
391+ const featureCollection = mapiRequest . response ! . body ;
392+ // $ExpectType "FeatureCollection"
393+ featureCollection . type ;
394+
395+ const [ feature ] = featureCollection . features ;
396+ // $ExpectType "Feature"
397+ feature . type ;
398+ // $ExpectType string | number | undefined
399+ feature . id ;
400+
401+ // $ExpectType "Point"
402+ feature . geometry . type ;
403+ // $ExpectType Position
404+ feature . geometry . coordinates ;
405+
406+ feature . properties satisfies TileQueryResponseProperty ;
407+ // $ExpectType number
408+ feature . properties . tilequery . distance ;
409+ // $ExpectType GeometryType
410+ feature . properties . tilequery . geometry ;
411+ // $ExpectType string
412+ feature . properties . tilequery . layer ;
413+ }
0 commit comments