@@ -31,7 +31,22 @@ import {mat4} from 'gl-matrix';
3131
3232const TRANSITION_SUFFIX = '-transition' ;
3333
34- class StyleLayer extends Evented {
34+ // this interface is used to allow optional overload for this methods in the derived classes.
35+ interface StyleLayer {
36+ queryRadius ?( bucket : Bucket ) : number ;
37+ queryIntersectsFeature ?(
38+ queryGeometry : Array < Point > ,
39+ feature : VectorTileFeature ,
40+ featureState : FeatureState ,
41+ geometry : Array < Array < Point > > ,
42+ zoom : number ,
43+ transform : Transform ,
44+ pixelsToTileUnits : number ,
45+ pixelPosMatrix : mat4
46+ ) : boolean | number ;
47+ }
48+
49+ abstract class StyleLayer extends Evented {
3550 id : string ;
3651 metadata : unknown ;
3752 type : string ;
@@ -52,18 +67,6 @@ class StyleLayer extends Evented {
5267
5368 _featureFilter : FeatureFilter ;
5469
55- readonly queryRadius : ( bucket : Bucket ) => number ;
56- readonly queryIntersectsFeature : (
57- queryGeometry : Array < Point > ,
58- feature : VectorTileFeature ,
59- featureState : FeatureState ,
60- geometry : Array < Array < Point > > ,
61- zoom : number ,
62- transform : Transform ,
63- pixelsToTileUnits : number ,
64- pixelPosMatrix : mat4
65- ) => boolean | number ;
66-
6770 readonly onAdd : ( ( map : Map ) => void ) ;
6871 readonly onRemove : ( ( map : Map ) => void ) ;
6972
0 commit comments